OVH Cloud OVH Cloud

Textbox

3 réponses
Avatar
Vincent
J'ai un textbox.
Comment faire afin qu'un utilisateur saisisse uniquement
des valeurs numériques.
la même chose pour des dates
Merci
Vincent

3 réponses

Avatar
michdenis
Bonjour Vincent,

Voici une façon de faire :

'---------------------
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

If KeyPress < 48 And KeyPress > 57 Then
KeyPress = 0
End If

End Sub
'---------------------


Salutations!


"Vincent" a écrit dans le message de news:e%
J'ai un textbox.
Comment faire afin qu'un utilisateur saisisse uniquement
des valeurs numériques.
la même chose pour des dates
Merci
Vincent
Avatar
Vincent
Bonsoir
Merci beaucoup, mais peux-tu m'expliquer cela ?
Vincent


"michdenis" a écrit dans le message de
news:%
Bonjour Vincent,

Voici une façon de faire :

'---------------------
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

If KeyPress < 48 And KeyPress > 57 Then
KeyPress = 0
End If

End Sub
'---------------------


Salutations!


"Vincent" a écrit dans le message de
news:e%

J'ai un textbox.
Comment faire afin qu'un utilisateur saisisse uniquement
des valeurs numériques.
la même chose pour des dates
Merci
Vincent





Avatar
michdenis
Bonjour Vincent

Keyascii représente la valeur ascii de chaque caractère que tu tapes dans le textbox.

L'événement KeyPress est associé à chacune des touches du clavier. En fait, le caractère(ta touche) est inscrite dans le
textbox lors la touche revient à sa position normale . (de enfoncer à l'état normal). La petite procédure soumise intercepte
la valeur du caractère, la test et s'assure que si cette valeur ne représente pas un chiffre (valeur ascii de 0 = 48 et
valeur ascii de 9 = 57) c'est à dire situer entre les bornes 48 et 57, on remplace la valeur ascii de ta touche enfoncée par
0. Ainsi rien ne s'inscrit dans la cellule.

Dans l'exemple soumis, il y a une petite erreur, tu dois utiliser le OU

If KeyPress < 48 Or KeyPress > 57 Then
KeyPress = 0
End If


Salutations!





"Vincent" a écrit dans le message de news:
Bonsoir
Merci beaucoup, mais peux-tu m'expliquer cela ?
Vincent


"michdenis" a écrit dans le message de
news:%
Bonjour Vincent,

Voici une façon de faire :

'---------------------
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

If KeyPress < 48 And KeyPress > 57 Then
KeyPress = 0
End If

End Sub
'---------------------


Salutations!


"Vincent" a écrit dans le message de
news:e%

J'ai un textbox.
Comment faire afin qu'un utilisateur saisisse uniquement
des valeurs numériques.
la même chose pour des dates
Merci
Vincent