KeyPress pour textbox indexé [Résolu]

Signaler
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
-
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
-
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

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
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
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
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


 
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
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
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
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
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
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