Controle de saisie textbox
j
Bonjour a tous
je vous sollicite , car j ai un soucis sur mon controle de format sur des textbox
je voudrais contrôler si la saisie de l'op est correct , sinon lui demander de recommencer
textbox1
Saisie 1 contrôler ce format
00:00
textbox2
Saisie 2 contrôler ce format
0000 00A
et tout ca en vb
merci de votre aide
Salut jlou,
A+
T
Bonjour,
Un début de piste et la validation se faisant sur l'évènement "Exit" des TextBox. Le code est bien évidemment à améliorer :
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox1.Text) = False Then
MsgBox "Vous devez entrer une valeur au format hh:mm dans les limites 00:00 et 23:59 !"
Cancel = True
Exit Sub
End If
If InStr(TextBox1.Text, ":") <> 3 Then
MsgBox "Vous devez entrer une valeur au format hh:mm dans les limites 00:00 et 23:59 !"
Cancel = True
End If
End Sub
'0000 00A
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox2.Text) <> 8 Then
MsgBox "Vous devez entrer une valeur au format 0000 00A !" & _
vbCrLf & _
"La longueur totale du code doit être de huit caractères !"
Cancel = True
Exit Sub
End If
'les 4 premiers caractères doivent former un nombre
If IsNumeric(Left(TextBox2.Text, 4)) = False Then
MsgBox "Vous devez entrer une valeur au format 0000 00A !" & _
vbCrLf & _
"Les quatres premiers caractères doivent être des chiffres !"
Cancel = True
Exit Sub
End If
'controle la position de l'espace
If InStr(TextBox2.Text, " ") <> 5 Then
MsgBox "Vous devez entrer une valeur au format 0000 00A !" & _
vbCrLf & _
"Le cinquième caractère doit être un espace !"
Cancel = True
Exit Sub
End If
'les caractères en position 6 et 7 doivent former un nombre
If IsNumeric(Mid(TextBox2.Text, 6, 2)) = False Then
MsgBox "Vous devez entrer une valeur au format 0000 00A !" & _
vbCrLf & _
"Les sixième et septième caractères doit être des chiffres !"
Cancel = True
Exit Sub
End If
'le dernier caractère doit être une lettre majuscule
If Asc(Right(TextBox2.Text, 1)) < 65 Or Asc(Right(TextBox2.Text, 1)) > 90 Then
MsgBox "Vous devez entrer une valeur au format 0000 00A !" & _
vbCrLf & _
"Le dernier caractère doit être une lettre majuscule sans accent !"
Cancel = True
End If
End Sub