Je ne connaissais pas la propriété KeyPreview de Form1. Je penserait à m'en servir, Merci Gilles.

Par contre pour le application->ProcessMessages(), lors de l'utilisation d'une boucle do while, il faut la mettre également avant le do pour que cela soit prit en compte également lors du premier passage