Limitation valeur dans textbox [Résolu]

Signaler
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Dans userform1 j'ai confectionné 1 textbox qui sert la saisie d'une valeur qui débute a partir de 15000,00DA à 100 000,00 DA ;Mon but est de forcer la saisie a partir de 15 000,00 DA dans textbox et en temps utilisé un msgbox

3 réponses

Messages postés
32074
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 avril 2021
345
Bonjour.
Voir la méthode change de la textbox et faire une comparaison. ..

Je te remercie infiniment de m'envoyer se code relatif à la limitation de textbox et encore une fois merci d'avance
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Et si tu lisais cette discussion jusqu'au bout, "a limitation" ?
Il y est ce code, non ?
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
2
Bonjour,
Je pense que ce serait plus facile quand quite le TextBox
Private Sub TextBox1_AfterUpdate()
Dim D As Double
D = IIf(IsNumeric(TextBox1.Value), TextBox1.Value, 0)
If D < 15000 Or D > 100000 Then
MsgBox "la valeur doit être comprise entre 15.000 et 100.000"
TextBox1.Text = ""
TextBox1.SetFocus 'Bug Excel ? fonctionne pas ?
End If
End Sub

A+
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Bonjour, lermitte222, je le ferais avant (befor update et me servirait du cancel) ===>>
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
D = IIf(IsNumeric(TextBox1.Value), TextBox1.Value, 0)
If D < 15000 Or D > 100000 Then MsgBox "non": Cancel = True
End Sub
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
2
Bonjour Ucfoutu, bien vu mais quand même petit ajout
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
'Pour éviter double appel.
If TextBox1.Text = "" Then Exit Sub
Dim D As Double
D = IIf(IsNumeric(TextBox1.Value), TextBox1.Value, 0)
If D < 15000 Or D > 100000 Then
MsgBox "la valeur doit être comprise entre 15.000 et 100.000"
TextBox1.Text = ""
Cancel = True
End If
End Sub

A+

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
ou encore (marche sans faille)
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Select Case TextBox1.Value
Case Not IsNumeric(TextBox1.Value), Is < 15000, Is > 100000
MsgBox "non": Cancel = True
End Select
End Sub