Bonsoir DLE,
Merci pour ta réponse, je n'y avait pas pensé. Mais pour mes besoins il est limité.
1er problème : Dans le masque de saisie on doit mentionné un nombre limité de caractère.
2ème problème : Mon besoin se fait au niveau d'un contrôle de texte multi-lignes. A la base je ne connais pas le nombre de caractères qui seront frappé.
3ème problème: (que je viens de m'apercevoir) c'est qu'il peut avoir quelques chiffres.
Donc la mise en majuscule qui se ferait en sortie de focus comme dans mon exemple pourrait faire l'affaire. Le problème et que si j'écris:
(8) table de décharge stratifiée (sans tiroir) alors je me retrouve avec : ( U 8 )TABLE DE D
ÉCHARGE STRATIFI
ÉE (SANS TIROIR) c'est à dire avec les accents.
Le gros problème est que dans mon travail pour la gestion du matériel le protocole est la
non utilisation de caractères accentués sur les majuscules (car utilisation de filtres ou autres). Nous sommes des dizaines a utiliser le fichier calc qui est sur réseau avec des ordonnateurs différents (windows/Linux). Donc la seule solution serait de placer un écouteur au niveau du contrôle de texte.
Autre solution mais je ne sais pas si c'est possible c'est qu'à l'entrée de focus sur mon contrôle de texte mon clavier pas en mode majuscule. (en espérant qu'en cours de frappe utilisateur ne repasse pas en mode minuscule)....
Encore une autre solution: il faudrait que mon code donné dans le fichier exemple je cite
frmEssai.GetControl("txtEssai").Text = Ucase(frmEssai.GetControl("txtEssai").Text)
qu'il passe le tout en majuscule mais pas accentué. Là aussi je ne sais pas si c'est possible.
Je sais c'est compliqué

Je propose beaucoup de solutions mais pas capable de finaliser
Cordialement