bruce207
Messages postés106Date d'inscriptionmardi 4 mars 2008StatutMembreDernière intervention 2 mai 2012
-
18 juin 2008 à 12:21
zen69
Messages postés584Date d'inscriptionjeudi 28 décembre 2006StatutMembreDernière intervention29 avril 2010
-
18 juin 2008 à 15:42
Bonjour,
mon problème est le suivant j'ai tapé le code ci dessous dans l'evenement keypress d'un textbox dans le but de n'y entrer que des chiffres :
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then KeyAscii = 0
mais cependant la touche retour arriere ne marche pas, donc impossible de supprimer les chiffres. Comment faire pour y remedier ? et/ou s'il existe un autre moyen de le faire merci d'avance de me le passer
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 18 juin 2008 à 12:40
Salut
Suffit d'agrandir le test.
Le retour arrière est le code ascii 8
Il faut inverser ton test pour les chiffres 0 à 9
If Not ( (KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) _
Or KeyAscii = 8) Then
Tu peux aussi utiliser un Select Case, plus pratique
Select Case KeyAscii
Case 48 to 57 ' Chiifres de 0 à 9
' On ne fait rien, c'est autorisé
Case 8 ' Retour arrière
' On ne fait rien, c'est autorisé
Case Else ' Tout le reste est interdit
KeyAscii = 0
End Select
Je te dis ça parce que dans une heure, tu reviendras avec le même problème pour le point ou la virgule.
Ce sera plus pratique avec un Select Case
Inspire toi aussi des multiples sources qui parlent de "saisie numérique" ou de "TextBox numérique" (dans le moteur de recherche)
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)