Controle de saisie textbox

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+

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

OH merci theze

Rechercher des sujets similaires à "controle saisie textbox"