Bon, je vais essayé d'expliquer, mais le démo me semblais tellement claire..
Quand tu clic sur le bouton.. tu rentre dans la sub MouseDown qui met la variable Action à True et envoi à la sub Boucler
Do While Action veux dire "Tant que la variable Action est à True"... tu boucle.
Les lignes en dessous sont exécutées.
Le DoEvents rend la main au programme ce qui permet de tester la sub MousUP
Quand il arrive sur Loop si la variable Action est toujour à true c'est identique à ton Goto CommandeStep
Mais comme le DoEvents est actionner à chaque coup si la touche est relachée le MouseUP met la variable Action à false et la boucle Do While Action se termine.
Plus d'explications je peu pas donner...
J'ai aussi l'impression que ton clavier est défectueux .. les lettres E,R,I,M et C ne sont pas disponibles.
A+