Bonjour à tous,
J'ai créé un userform, et je suis en train d'appliquer tout un tas de contrôles et de vérifications des données saisies par l'utilisateur dans mes textbox et autres. Je bloque au moment de faire la validation d'une textbox qui contient un code.
Ce code peut avoir trois formats:
- A00-0nnnn
- EQ-0nnnn
- EQ-0nnnnn
(avec 'n' étant un chiffre entre 1 et 9)
J'ai utilisé le code suivant:
1 2 3 4 5 6 7
| Private Sub TBoxIDNumber_exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not TBoxIDNumber.Value Like "EQ-0#####" Or TBoxIDNumber.Value Like "EQ-0####" Or TBoxIDNumber.Value Like "A00-0####" Then
Me.TBoxIDNumber.SetFocus
MsgBox "The Equipment ID number should follow one of these format ('n' means number):" & vbCr & vbCr & "EQ-0nnnnn (i.e: EQ-013543)" & vbCr & vbCr & "EQ-0nnnn (i.e: EQ-09561)" & vbCr & vbCr & "A00-0nnnn (i.e: A00-01543)"
Exit Sub
End If
End Sub |
Le problème c'est que la j'ai une erreur pour toute autre entrée différente que le premier masque ("EQ-0#####").
J'utilise surement le 'Like' de la mauvaise manière, mais je ne sais pas comment changer ma macro pour qu'elle prenne en compte mes trois masques de saisie.
Est-ce que vous auriez une solution à me donner pour résoudre ce problème?
Autre question: j'ai compris que 'SetFocus' ne fonctionnait pas sur l'évenement 'Exit', comment puis-je revenir sur mon textbox après mon message d'erreur?
Merci d'avance pour vos réponses.
Partager