Salut,
Citation :
Je suis ouvert à d'autre façons de faire s'il y en a des plus simples.
Plus simple, oui. Mais surtout, plus conforme à ce que l'utilisateur a l'habitude de pouvoir faire par ailleurs.
Comme tu ne gères pas tous les cas, et que ce serait de toutes façons trop fastidieux de le faire, je te propose de ne tester la saisie de l'utilisateur que lorsque celui-ci a terminé. Pour le code, c'est facile, reprends ce que je t'ai déjà proposé. Pour l'événement à prendre en considération, c'est
LostFocus. Las, tu ne le trouveras pas sous ce nom, pour le composant "Zone de Texte" de VBA/Excel, il s'appelle
Exit. Implémente donc
TextBox1_Exit() et laisse l'utilisateur saisir n'importe quoi.
Les utilisateurs sont des êtres mauvais qui cherchent par tous les moyens à mettre en défaut l'interface qui nous a tant coûté à mettre à leur disposition
Aussi, la gestion de la saisie est quelque chose de bien connue. En anglais, la langue vernaculaire des programmeurs, on dit :
Never trust user input.