Merci h2so4
Ta solution est bien mais elle ne convient pas trop puisque je me suis mal exprimé ... excuse moi...
Je vais reformuler.
Le champs à 8 caractères
Je souhaite que l'utilisateur ne puisse saisir uniquement un lettre de a à z pour le premier (avec mise en majuscule automatiquement)
et que l'utilisateur puisse saisir uniquement des chiffres pour les 7 autres
La solution que propose archer s'en approche grandement !!
archer
Etant novice en VBA
Pourrais tu détailler/expliquer ton code pour ma culture personnelle svp ?
J'ai aussi ajouter le code TextBox3.Value = UCase(TextBox3) entre tes deux if pour transformer le 1er caractère en majuscule et ajouter quelques commentaire pour me souvenir des fonctions quand je repasserais dans mon code
Mon textbox s'appel REF_DOSSIER
Et ca me donner le code suivant
Est-ce que les commentaires sont "corrects" ou pertinent ??
Private Sub REF_DOSSIER_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Autoriser uniquement des caractere alphabétique pour le premier caractere du champ
If Len(REF_DOSSIER) = 0 Then KeyAscii = Asc(UCase(Chr(KeyAscii))): Exit Sub
''Mise en majuscule du premier caractère
REF_DOSSIER.Value = UCase(REF_DOSSIER)
'Autoriser uniquement des chiffres pour les 7 autres caractéres
If InStr("1234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0: Beep
End Sub
Je suis en train de tester ton code archer,
il me semble convenir et fonctionner super bien !! merci encore !!