Valeur maximale d'un textbox
Résolu
SpcCwb
Messages postés
67
Statut
Membre
-
SpcCwb Messages postés 67 Statut Membre -
SpcCwb Messages postés 67 Statut Membre -
Bonjour,
Je cherche à bloquer la valeur maximale du textbox3 de mon userform à 100.
Si jamais l'utilisateur tape une valeur supérieure alors MsgBox l'avertissant et effacer le contenu du textbox.
J'ai également une règle concernant la casse autorisée, celle-ci fonctionne très bien.
Mon problème est que lorsque j'efface le contenu de mon textbox, le MsgBox apparaît. Lorsqu'une valeur supérieure à 100 est saisie, le textbox ne se vide pas. Et lorsque je commence à saisir dans le textbox le MsgBox apparaît..
Je vous joint le fichier, et voici le code que j'utilise.
Merci d'avance du coup de main
Le fichier: https://www.cjoint.com/c/HHCn2OKz3EI
Je cherche à bloquer la valeur maximale du textbox3 de mon userform à 100.
Si jamais l'utilisateur tape une valeur supérieure alors MsgBox l'avertissant et effacer le contenu du textbox.
J'ai également une règle concernant la casse autorisée, celle-ci fonctionne très bien.
Mon problème est que lorsque j'efface le contenu de mon textbox, le MsgBox apparaît. Lorsqu'une valeur supérieure à 100 est saisie, le textbox ne se vide pas. Et lorsque je commence à saisir dans le textbox le MsgBox apparaît..
Je vous joint le fichier, et voici le code que j'utilise.
Merci d'avance du coup de main
Private Sub Textbox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
TextBox3.MaxLength = 3
Select Case KeyAscii
Case 44, 46 ' que l'on frappe une virgule ou un point
If InStr(TextBox3.Text, ",") Then 'si déjà une virgule présent
KeyAscii = 0 'on ne permet pas deux virgules
Else ' sinon
KeyAscii = 44 'on force la une virgule
End If
Case 48 To 57
'on laisse passer car ce sont des chiffres
Case Else
KeyAscii = 0 'on ne laisse pas passer
End Select
If TextBox3.Value > 100 Then
MsgBox "Valeur maximale = 100"
TextBox3.Value = ""
Exit Sub
End If
End Sub
Le fichier: https://www.cjoint.com/c/HHCn2OKz3EI
A voir également:
- Valeur maximale d'un textbox
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Valeur ascii - Guide
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum MacOS
- Excel ne pas afficher #valeur ✓ - Forum Excel
- Attribuer une valeur à une cellule texte excel ✓ - Forum Excel
1 réponse
Bonjour,
Tu peux essayer
Je ne suis pas sûr que MaxLength=3 soit judicieux avec des nombres décimaux
A+
Tu peux essayer
Private Sub Textbox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
TextBox3.MaxLength = 3
Select Case KeyAscii
Case 44, 46 ' que l'on frappe une virgule ou un point
If InStr(TextBox3.Text, ",") Then 'si déjà une virgule présent
KeyAscii = 0 'on ne permet pas deux virgules
Else ' sinon
KeyAscii = 44 'on force la une virgule
End If
Case 48 To 57
'on laisse passer car ce sont des chiffres
If CDbl(TextBox3.Value & (KeyAscii - 48)) > 100 Then
MsgBox "Valeur maximale = 100"
KeyAscii = 0 'on ne permet pas de valeur supérieure à 100
End If
Case Else
KeyAscii = 0 'on ne laisse pas passer
End Select
End Sub
Je ne suis pas sûr que MaxLength=3 soit judicieux avec des nombres décimaux
A+
J'ai juste changer le numéro de la textbox de cette ligne: en
Parfait!
Effectivement maintenant je peux retirer MaxLength=3
Merci encore!