KeyPress pour textbox indexé

Résolu
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 25 août 2007 à 09:29
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 26 août 2007 à 08:49
Bonjour
voila, j'ai se code dans un textbox pour mettre que du numéric
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim chaine
chaine = "0123456789" 'ou d'autre caracteresIf InStr(1, chaine, Chr(KeyAscii)) 0 And Not KeyAscii 8 Then
MsgBox "ATTENTION : chiffre uniquement", vbCritical + vbOKOnly, "ERREUR"
    KeyAscii = 0  'On assign un KeyAscii vide à la text box
Text1.Text = "" 'vide la box
End If
mais le probleme c'est que dans une form j'ai 20 textbox qui sont indexé.
comment faire pour appliqué se code à tous mes textbox
merci
petchy

5 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
25 août 2007 à 09:53
Réellement ils sont indexés ??? tu nous as pas donné le bon code alors.

Si tes textbox sont réellement indexés (groupe de controle) alors la signature de l'évènement KeyPress est :

Private Sub Text1_KeyPress(Index as Integer, KeyAscii as Integer)

Index représentant justement l'index du textbox concerné par le KeyPress

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
25 août 2007 à 10:57
Salut Petchy,


Regarde ce lien qui concerne le fait d'avoir que des numériques dans un textbox via API, cela peut-être utile pour cela..L'utilisation en est très simple...


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
3
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
25 août 2007 à 10:07
Re
merci pour le code c'est nickel
oui,ils sont vraiment indexés,mais j'ai encore un petit soucis
quand je met un caracteres non numéric il m'affiche bien le message,mais il me vide tous les textbox,et ça c'est génant,y aurait il une astuce pour vider que le textbox qui un caracteres non numéric
Private Sub T1_KeyPress(Index As Integer, KeyAscii As Integer)
Dim chaine
chaine = "0123456789" 'ou d'autre caracteresIf InStr(1, chaine, Chr(KeyAscii)) 0 And Not KeyAscii 8 Then
MsgBox "ATTENTION : chiffre uniquement", vbCritical + vbOKOnly, "ERREUR"
KeyAscii = 0  'On assign un KeyAscii vide à la text box
T1(0).Text = "" 'vide la box
T1(1).Text = "" 'vide la box
End If
End Sub

petchy
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
25 août 2007 à 10:21
Comme je t'ai dis Index représente l'index du textbox concerné par le Keypress.

Il te suffit de faire T1(Index).Text = ""
PAs besoin d'effacer tous les textbox.

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
26 août 2007 à 08:49
salut
merci à vous,
j'ai supprimer les lignes pour vider les textboxs et comme ça c'est bon
Private Sub T1_KeyPress(Index As Integer, KeyAscii As Integer)
Dim chaine
chaine = "0123456789" 'ou d'autre caracteresIf InStr(1, chaine, Chr(KeyAscii)) 0 And Not KeyAscii 8 Then
'MsgBox "ATTENTION : chiffre uniquement", vbCritical + vbOKOnly, "ERREUR"
    KeyAscii = 0  'On assign un KeyAscii vide à la text box
End If
End Sub
@ plus
petchy
0
Rejoignez-nous