Limitation valeur dans textbox [Résolu]

- - Dernière réponse : ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 27 oct. 2013 à 19:01
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
Afficher la suite 

3 réponses

Messages postés
26786
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2019
317
0
Merci
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
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214 -
Et si tu lisais cette discussion jusqu'au bout, "a limitation" ?
Il y est ce code, non ?
Commenter la réponse de jordane45
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
2
0
Merci
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+
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214 -
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
Commenter la réponse de lermite222
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
2
0
Merci
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+

ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214 -
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
Commenter la réponse de lermite222