Bonjour,
alors je m'y connais très peu en programmation et encore moins en vba
contexte:
J'ai une TextBox et je voudrais mettre en condition les valeurs entrées par l'utilisateur
Par exemple je veux que la valeur entrée dans la zone de texte soit comprise entre 0 et 6 (sinon un message d'erreur apparait et l'utilisateur doit retaper la valeur).
Comment pourrais-je faire svp?
Je suis partis sur ça mais ça ne marche pas (je suis sans doute à coté de la plaque):
_______
Private Sub TextBox1_Change()
If TextBox1.Value < 0 Then MsgBox "Hors plage"
ElseIf TextBox1.Value > 6 Then MsgBox "Hors plage"
Else
End If
End Sub
______
Merci pour votre aide
A voir également:
Indique une valeur une erreur dans l'entrée de données dans une zone de texte
Whismeril
Messages postés18991Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention27 mars 2024654 19 oct. 2021 à 19:59
Bonjour
Ce qui est écrit dans une textbox c’est du texte, pas un nombre.
Tu ne peux donc pas tester si c’est supérieur ou inférieur directement, il faut commencer par convertir en nombre, entier dans ton cas.
VBA c’est pas mon fort, je dirais un truc comme ça
Dim nbreSaisi as Integer
nbreSaisi = CInt(Text1.Value)
If nbreSaisi < 0 Then
…..
du coup en fait c'est pour un pote et j'avais pas le code, mais il m'a envoyé ça (je vais essayer de bien utiliser le code source):
Private Sub txtt°sortie_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("1234567890,-", Chr(KeyAscii)) = 0 Then KeyAscii = 0: Beep 'Empeche d'écrire des lettres
' If txtt°sortie.Value < 0 Then KeyAscii = 0: Beep 'empeche d'écrire un chiffre inf à 0
' If txtt°sortie.Value > 6 Then KeyAscii = 0: Beep 'empeche d'écrire un chiffre sup à 6
End Sub
Et donc à la suite de ta réponse j'ai essayer de rajouter :
If InStr("1234567890,-", Chr(KeyAscii)) = 0 Then KeyAscii = 0: Beep 'Empeche d'écrire des lettres
Dim temp as Integer
temp = CInt(txtt°sortie.Value)
If temp < 0 Then KeyAscii = 0: Beep 'empeche d'écrire un chiffre inf à 0
If temp > 6 Then KeyAscii = 0: Beep 'empeche d'écrire un chiffre sup à 6
End Sub
20 oct. 2021 à 14:10
du coup en fait c'est pour un pote et j'avais pas le code, mais il m'a envoyé ça (je vais essayer de bien utiliser le code source):
Et donc à la suite de ta réponse j'ai essayer de rajouter :
Mais ça me met erreur "13"...