Empecher saisie caracterer Textbox

Lokomass Messages postés 191 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 15 mai 2013 - 3 janv. 2010 à 20:05
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 3 janv. 2010 à 20:36
Bonjour,

J'aimerais interdire la saisie de texte dans un textbox.
J'ai trouvé ce code sur le net :

Private Sub NBrePorts_KeyPress(KeyAscii As Integer)
    If (KeyAscii < 48 Or KeyAscii > 57) Then KeyAscii = 0
End Sub


Il fonctionne, seulement un truc me gène, avec ceci je ne peux pas faire effacer (si je me trompe avec la touche) ce qui parait normal vu que je dit que tout ce qui n'est pas un chiffre je l'enleve. J'ai vu que la touche effacer avait pour code ascii 12 donc j'ai fait ensuite ceci :


Private Sub NBrePorts_KeyPress(KeyAscii As Integer)
    If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 12 Then KeyAscii = 0
End Sub


Mais la touche effacer ne fonctionne pas quand meme. Ca doit etre tout bete mais je ne trouve pas...

4 réponses

ricky84 Messages postés 44 Date d'inscription dimanche 8 septembre 2002 Statut Membre Dernière intervention 13 janvier 2014
3 janv. 2010 à 20:29
Private Sub NBrePorts_KeyPress(KeyAscii As Integer)
if KeyAscii=12 then Exit sub
If (KeyAscii < 48 Or KeyAscii > 57) Then KeyAscii = 0
End Sub
0
Lokomass Messages postés 191 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 15 mai 2013 1
3 janv. 2010 à 20:32
Merci, mais la tu sort carrément du Sub, moi j'aimerai que la touche effacer me permette de corriger ce que j'ai écrit. Et la ça ne fonctionne pas :(
0
Lokomass Messages postés 191 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 15 mai 2013 1
3 janv. 2010 à 20:36
J'ai trouvé, en fait ce n'était pas 12 mais 8 le code Ascii :

Private Sub NBrePorts_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And Not KeyAscii 8 Then KeyAscii 0
End Sub
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 48
3 janv. 2010 à 20:36
salut,

umm, de mémoire, effacer c'est 8 :)
bien plus pratique d'utiliser les constantes pour s'en assurer

[b]
KeyAscii/b
[F1]

++
[hr]
0
Rejoignez-nous