PERMETTRE DE SAISIR DANS UN TEXTBOX QUE DES CARACTÈRE SPÉCIFIÉ .
Neo.balastik
Messages postés796Date d'inscriptionjeudi 17 mai 2001StatutMembreDernière intervention 5 mai 2009
-
9 juin 2004 à 22:24
galactus13 -
2 mars 2019 à 03:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Enfin une fonction simple, bien expliqué et qui fonctionne ! lol
J'avais autrefois une soluce qui tenait en deux lignes, mais disparu de ma tête, l'age forcément !
frezz13
Messages postés15Date d'inscriptionmardi 9 mars 2010StatutMembreDernière intervention 2 août 2010 1 déc. 2006 à 11:10
Bonjour, Pour ma part j'utilise le code suivant avec les commentaires:
Private Sub TextRXamat_KeyPress(KeyAscii As Integer)
Dim chaine
chaine = "0123456789" 'ou d'autre caracteres
If InStr(1, chaine, Chr(KeyAscii)) 0 And Not KeyAscii 8 Then
'KeyAscii = 8 est la touche Del
'On bloque ce qui n'est pas compris dans la variable chaine sauf
'la touche Del
MsgBox ("Erreur : chiffre uniquement"), vbExclamation
KeyAscii = 0 'On assign un KeyAscii vide à la text box
Ma_box.text ="" 'vide la box
End If
End sub
cs_salmen
Messages postés3Date d'inscriptionmercredi 31 décembre 2003StatutMembreDernière intervention17 juillet 2009 11 juin 2004 à 08:37
tous ça est une idée mais moi je préfére cette méthode :
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim allowedKeys As String
allowedKeys = "0123456789-,." & Chr(8)
If InStr(allowedKeys, Chr(KeyAscii)) 0 Then KeyAscii 0
End Sub
cette source consiste à rechercher le caractère entré, dans une chaîne contenant tous les caractères autorisés. Si ce caractère n'est pas dans la chaîne, rien n'est affiché.
cs_dagdoug
Messages postés5Date d'inscriptionsamedi 8 mars 2003StatutMembreDernière intervention28 mars 2006 10 juin 2004 à 11:56
et si on fait un copier-coller de caractères interdits dans le TEXTBOX ca marche pas !!
Sirocooo
Messages postés412Date d'inscriptionmercredi 19 décembre 2001StatutMembreDernière intervention 7 avril 20081 10 juin 2004 à 09:59
On ne dit pas "on fé" mais "On fait"
Tu peux remplacer "goto fin" par "exit for"
Plutôt d'utiliser une boucle For Next, tu peux essayer d'utiliser la
fonction InString()
cs_akrame
Messages postés18Date d'inscriptiondimanche 9 mai 2004StatutMembreDernière intervention 9 janvier 2006 10 juin 2004 à 00:12
Je coirs que comme ca c mieu :D
Neo.balastik
Messages postés796Date d'inscriptionjeudi 17 mai 2001StatutMembreDernière intervention 5 mai 20097 9 juin 2004 à 22:24
Oulala que c'est compliqué ;O) Et l'utilisation d'un Goto !!! Faut oublier cela.
Voici plus simple un utilisant la fonction IsNumeric:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
KeyAscii = 8
ElseIf IsNumeric(Chr(KeyAscii)) = False Then
KeyAscii = 0
End If
Modifié le 2 mars 2019 à 03:41
J'avais autrefois une soluce qui tenait en deux lignes, mais disparu de ma tête, l'age forcément !
1 déc. 2006 à 11:10
Private Sub TextRXamat_KeyPress(KeyAscii As Integer)
Dim chaine
chaine = "0123456789" 'ou d'autre caracteres
If InStr(1, chaine, Chr(KeyAscii)) 0 And Not KeyAscii 8 Then
'KeyAscii = 8 est la touche Del
'On bloque ce qui n'est pas compris dans la variable chaine sauf
'la touche Del
MsgBox ("Erreur : chiffre uniquement"), vbExclamation
KeyAscii = 0 'On assign un KeyAscii vide à la text box
Ma_box.text ="" 'vide la box
End If
End sub
11 juin 2004 à 08:37
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim allowedKeys As String
allowedKeys = "0123456789-,." & Chr(8)
If InStr(allowedKeys, Chr(KeyAscii)) 0 Then KeyAscii 0
End Sub
cette source consiste à rechercher le caractère entré, dans une chaîne contenant tous les caractères autorisés. Si ce caractère n'est pas dans la chaîne, rien n'est affiché.
10 juin 2004 à 11:56
10 juin 2004 à 09:59
Tu peux remplacer "goto fin" par "exit for"
Plutôt d'utiliser une boucle For Next, tu peux essayer d'utiliser la
fonction InString()
10 juin 2004 à 00:12
9 juin 2004 à 22:24
Voici plus simple un utilisant la fonction IsNumeric:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
KeyAscii = 8
ElseIf IsNumeric(Chr(KeyAscii)) = False Then
KeyAscii = 0
End If
End Sub
Courage