Permettre de saisir dans un textbox que des caractère spécifié .

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 688 fois - Téléchargée 28 fois

Contenu du snippet

Permettre de saisir dans un textbox que des caractère spécifié dans un tableau .

Source / Exemple :


Private Sub test_KeyPress(KeyAscii As Integer)

Dim i As Integer ' la varialbe :) 
Dim chiffres ' le tableau 

nums = Array(65,12,58,69,45,65,26,32)  ' le tableau contenant le code ASCII des caractères permis .

For i = LBound(nums) To UBound(nums) ' on fé une boucle 
   
  If KeyAscii = nums(i) Then ' on teste le caractère      
    
              GoTo fin 'ca corresponds ! c permis alors on l'affiche 
   
  End If 

Next i ' ca correspond pas on compare alors avec le caractère permis suivant 

'Eh ben ca correspond pas du tout donc on n'affiche pas ! 
KeyAscii = 0 ' on affecte la valeur 0 au keyascii 
Beep' on emet un beep

fin: ' la finnnnn
End Sub

Conclusion :


Laissezzzzzzzzzzzzzzz Vosssssssss Commentaiiiiiiiiires !!!!!!

A voir également

Ajouter un commentaire

Commentaires

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
-
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
-
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
-
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 -
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()

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.