Bonjour,
je voudrais savoir comment n'accepter que des entiers dans une textbox
merci d'avance de votre aide
Bonjour,
je voudrais savoir comment n'accepter que des entiers dans une textbox
merci d'avance de votre aide
Dans l'exit de ton textbox, tu mets
Si tu veux ajouter un message pour prévenir...
Code : Sélectionner tout - Visualiser dans une fenêtre à part If isnumeric(textbox1.value) then textbox1 = Int(textbox1.value)
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 If isnumeric(textbox1.value) then If int(textbox1.value) < Textbox1.value then Msgbox "J'ai dit des entiers, patate !" Cancel = True 'empêche de sortir du textbox else Cancel = false endif endif
salut,
j'ai un problème avec le code, je l'ai modifié un peu mais c pas mieux.
pour n'importe quel nombre, il renvoi "j'ai dit des entiers !!!!!!!!"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 If IsNumeric(TextBox3.Value) Then If Int(TextBox3.Value) < TextBox3.Value Or TextBox3.Value < 0 Then MsgBox "J'ai dit des entiers !!!!!!!!!" Cancel = True 'empêche de sortir du textbox Else Cancel = False End If Else MsgBox "J'ai dit des entiers!" Cancel = True 'empêche de sortir du textbox End If
C'est donc un problème de condition mais ya quelque chose qui m'échappe.
Effectivement, un Textbox utilisé ainsi renvoie un string, non une valeur. Autant pour moi.
Mais tu pourrais aussi interdire le point et la virgule lors de la saisie et envoyer un beep ou un message le cas échéant. Seulement si tu n'as que quelques textbox. S'il y en a plusieurs, pour ma part je préfère toujours une validation générale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 If IsNumeric(TextBox3.Value) Then If Int(Val(TextBox3.Value)) < Val(TextBox3.Value) Or Val(TextBox3.Value) < 0 Then MsgBox "J'ai dit des entiers !!!!!!!!!" Cancel = True 'empêche de sortir du textbox Else Cancel = False End If Else MsgBox "J'ai dit des valeurs !" Cancel = True 'empêche de sortir du textbox End If
Tu dis
A+
une validation générale pourrai ^tre mieux car j'aurai plusieurs cas similaire aprés.
Bonjour
voici une technique très pratique pour n'autoriser que la saisie de nombres entiers dans un TexteBox
Bonne journée à vous tous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) ' Si la valeur n'est pas comprise entre 0 et 9 et qu'elle n'est pas un backspace If Not ((KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = 8) Then KeyAscii = 0 'on annule la pression sur la touche End If End Sub
merci abed H
parfais la technique
bonne journée
Tu as également la solution de vérifier le caractère numérique de la saisie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If keyascii = 8 then exit sub 'permet de quitter le contrôle même vide if not chr(Keyascii) like "#" then KeyAscii = 0 End Sub
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager