Valider saisie dans textbox

Bonjour Forum

Jai deux textbox dans lesquels je dois saisir un age min et max

les textbox doivent prendre des entiers allant de 1 a 100

Les codes ont été déjà faits mais mon soucis:

Comment paramétrer le textbox2 ( Age max) pour qu'il ne prenne que des valeurs allant de min+1 à 100?

merci encore.

20classeur1.xlsm (19.78 Ko)

Bonjour,

Comprends pas très bien la question car le fichier joint contient déjà un code qui limite la saisie de 1 à 100

dans les deux textbox

Bonjour,

Comprends pas très bien la question car le fichier joint contient déjà un code qui limite la saisie de 1 à 100

dans les deux textbox

Merci

Je veux dire:

Si textbox1 est renseigné il faudrait que textbox2 prenne des valeurs strictement supérieures à textbox1

Salut KTM le fil ...

Un truc comme ça peut être

Private Sub TextBox2_Change()
    If Val(Left(TextBox2, 1)) < Val(Left(TextBox1, 1)) Then
        TextBox2 = ""
    Else
        If Val(Mid(TextBox2, 2, 1)) <= Val(Mid(TextBox1, 2, 1)) Then
            TextBox2 = Left(TextBox2, 1)
        End If
    End If
    TextBox2 = Left(TextBox2, 3)
    If Not IsNumeric(Mid(TextBox2, 1, 1)) Then TextBox2 = Mid(TextBox2, 2)
    If Not IsNumeric(Mid(TextBox2, 2, 1)) Then TextBox2 = Left(TextBox2, 1) & Mid(TextBox2, 3)
    If Not IsNumeric(Mid(TextBox2, 3, 1)) Or Val(TextBox2) > 100 Then TextBox2 = Left(TextBox2, 2)
    Range("B1").Value = TextBox2.Value
End Sub

Salut KTM,

Salut l'équipe,

autre approche...

Private Sub TextBox1_Change()
'
If Not IsNumeric(Me.TextBox1.Text) Then Me.TextBox1.Text = ""
'
End Sub

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
'
If Val(Me.TextBox1.Text) = 0 Or Val(Me.TextBox1.Text) > 99 Then
    Me.TextBox1.Text = IIf(Val(Me.TextBox1.Text) > 99, "99", CStr(Val(Me.TextBox1.Text) + 1))
    MsgBox "Erreur! Veuillez vérifier la valeur MIN !", vbCritical + vbOKOnly, "Âge MIN"
    Range("A1").Value = Val(Me.TextBox1.Text)
End If
'
End Sub

Private Sub TextBox2_Change()
'
If Not IsNumeric(Me.TextBox2.Text) Then Me.TextBox2.Text = ""
'
End Sub

Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
'
If Val(Me.TextBox1.Text) >= Val(Me.TextBox2.Text) Or Val(Me.TextBox2.Text) > 100 Then
    Me.TextBox2.Text = CStr(Val(Me.TextBox1.Text) + 1)
    MsgBox "Erreur! Veuillez vérifier la valeur MAX !", vbCritical + vbOKOnly, "Âge MAX"
    Range("B1").Value = Val(Me.TextBox2.Text)
End If
'
End Sub

A+

6classeur1.xlsm (20.99 Ko)

Salut KTM le fil ...

Un truc comme ça peut être

Private Sub TextBox2_Change()
    If Val(Left(TextBox2, 1)) < Val(Left(TextBox1, 1)) Then
        TextBox2 = ""
    Else
        If Val(Mid(TextBox2, 2, 1)) <= Val(Mid(TextBox1, 2, 1)) Then
            TextBox2 = Left(TextBox2, 1)
        End If
    End If
    TextBox2 = Left(TextBox2, 3)
    If Not IsNumeric(Mid(TextBox2, 1, 1)) Then TextBox2 = Mid(TextBox2, 2)
    If Not IsNumeric(Mid(TextBox2, 2, 1)) Then TextBox2 = Left(TextBox2, 1) & Mid(TextBox2, 3)
    If Not IsNumeric(Mid(TextBox2, 3, 1)) Or Val(TextBox2) > 100 Then TextBox2 = Left(TextBox2, 2)
    Range("B1").Value = TextBox2.Value
End Sub

merci Jean Paul

Salut KTM,

Salut l'équipe,

autre approche...

Private Sub TextBox1_Change()
'
If Not IsNumeric(Me.TextBox1.Text) Then Me.TextBox1.Text = ""
'
End Sub

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
'
If Val(Me.TextBox1.Text) = 0 Or Val(Me.TextBox1.Text) > 99 Then
    Me.TextBox1.Text = IIf(Val(Me.TextBox1.Text) > 99, "99", CStr(Val(Me.TextBox1.Text) + 1))
    MsgBox "Erreur! Veuillez vérifier la valeur MIN !", vbCritical + vbOKOnly, "Âge MIN"
    Range("A1").Value = Val(Me.TextBox1.Text)
End If
'
End Sub

Private Sub TextBox2_Change()
'
If Not IsNumeric(Me.TextBox2.Text) Then Me.TextBox2.Text = ""
'
End Sub

Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
'
If Val(Me.TextBox1.Text) >= Val(Me.TextBox2.Text) Or Val(Me.TextBox2.Text) > 100 Then
    Me.TextBox2.Text = CStr(Val(Me.TextBox1.Text) + 1)
    MsgBox "Erreur! Veuillez vérifier la valeur MAX !", vbCritical + vbOKOnly, "Âge MAX"
    Range("B1").Value = Val(Me.TextBox2.Text)
End If
'
End Sub

A+

C'est super !!

Rechercher des sujets similaires à "valider saisie textbox"