Finalement on s'en fiche de savoir ce qu'un KeyCode va faire. Tab ou Up ou Down ou A, B, C, ...
Il faut juste savoir qu'un KeyCode a été entré pour se poser la question de savoir si le UserForm.ActiveControl a changé. Pareil pour un MouseUp.
Le seul problème, c'est qu'on ne peut le savoir qu'en Asynchrone comme je l'ai souligné précédemment, et hélas, cela ne peut se faire qu'avec un module, car ni la Classe ni le UserForm ne peuvent accueillir une fonction appelée par OnTime.
Donc voilà un exemple qui traite:
- Label
- TextBox
- CommandButton
Après faudra que je l'étende à d'autre Controls.
Restera à gérer aussi les fonctions Utilisateurs à appeler sur Enter() et Exit(). Pour l'instant ce ne sont que des traces sur la feuille.