PERMETTRE DE SAISIR DANS UN TEXTBOX QUE DES CARACTÈRE SPÉCIFIÉ .

Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Derniè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.

https://codes-sources.commentcamarche.net/source/23559-permettre-de-saisir-dans-un-textbox-que-des-caractere-specifie

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és 15 Date d'inscription mardi 9 mars 2010 Statut Membre Derniè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és 3 Date d'inscription mercredi 31 décembre 2003 Statut Membre Dernière intervention 17 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és 5 Date d'inscription samedi 8 mars 2003 Statut Membre Dernière intervention 28 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és 412 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 7 avril 2008 1
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és 18 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 9 janvier 2006
10 juin 2004 à 00:12
Je coirs que comme ca c mieu :D
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
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

End Sub

Courage
Rejoignez-nous