I'm confused - clearly if you want it to repeat you'll have to reset delaymove back to 1 at some point (the code only clears it).
Normally these machines switch themselves off so why would you want to repeat anyway? If you annotated the servo values to explain what action that angle corresponded to it would be clearer.
Now if you want to respond to the input by delaying, moving the servo, delaying and moving it back, that's simply something like:
void loop ()
{
if (digitalRead(switchpin) == HIGH) // or whatever value you meant
{
delay(4000);
useless.write(250);
delay (4000) ;
useless.write(40);
}
}
If you want to be able to recognise other events during that process you should look at the technique used in blinkWithoutDelay example.