Obliger la saisie de certaines valeurs dans une TextBox

ciree

XLDnaute Nouveau
Bonjour,

J'alimente une feuille excel avec un Userform. Dans ce Userform, il y a une TextBox (Textposition)qui alimente une colonne de cette feuille. Dans cette TextBox, je ne veux que les valeurs A01, A02,....A12, B01..B12,....I01...I12.
Pour l'instant mon code est le suivant :
If Not TextPosition.Text Like "[A-I][0-1][0-9]" Then
MsgBox ("Position invalide")
UserForm1.TextPosition.Text = ""
TextPosition.SetFocus
Exit Sub
End If

Code tout à fait insuffisant puisque les valeurs A00, A13,...A19, B00,...B13, B19 etc... sont acceptées.
Merci de m'éclairer de vos lumières.
 

Pierrot93

XLDnaute Barbatruc
Re : Obliger la saisie de certaines valeurs dans une TextBox

Bonjour,

regarde peut être ceci, espérant que cela puisse te faire avancer :
Code:
Option Explicit
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not TextBox1 Like "[A-I]##" Or Right(TextBox1, 2) > 12 Then Cancel = True
End Sub
bonne journée
@+
 

ciree

XLDnaute Nouveau
Re : Obliger la saisie de certaines valeurs dans une TextBox

Il me semble que dans le code Or Right(TextBox1, 2) > 12 il accepte les valeurs A00, B00,C00...
merci de votre aide.



Bonjour,

regarde peut être ceci, espérant que cela puisse te faire avancer :
Code:
Option Explicit
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not TextBox1 Like "[A-I]##" Or Right(TextBox1, 2) > 12 Then Cancel = True
End Sub
bonne journée
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Obliger la saisie de certaines valeurs dans une TextBox

Re,

rajoute un test avec une borne inférieure...
Code:
Option Explicit
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not TextBox1 Like "[A-I]##" Or Right(TextBox1, 2) < 1 Or Right(TextBox1, 2) > 12 Then Cancel = True
End Sub
 

Statistiques des forums

Discussions
312 492
Messages
2 088 902
Membres
103 982
dernier inscrit
krakencolas