VBA Excel - Détection de touche [Résolu]

Signaler
Messages postés
87
Date d'inscription
jeudi 5 novembre 2009
Statut
Membre
Dernière intervention
3 janvier 2012
-
us_30
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
-
Bonjour,

J'ai cherché d'autres post parlant de ce sujet mais je n'ai rien trouvé.
J'ai mis une textbox sur une feuille excel et je voudrais que lorsque l'on appuie sur la touche Entrée, un msgbox apparaisse. Voici mon code :


Private Declare Function SetCurrentDirectoryA Lib "kernel32" (ByVal lppathname As String) As Long

Private Sub textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
MsgBox (KeyAscii)
If KeyAscii = 13 Then
MsgBox ("enter")
Else
MsgBox ("pas enter")
End If
End Sub

J'ai beau appuyé sur la touche entrée mais rien ne se passe. Par contre si je change la valeur de 13 à 49(touche "1") par exemple, et la ca marche...
Quelqu'un pourrait me dire pourquoi ?

Merci d'avance

4 réponses

Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
Bonjour,

1) apprends que VBA n'est pas VB6 (tu n'es pas dans le bon thème)
2) C'est d'autant plus gênant que les réactions d'une TextBox d'un UserForm VBA ne sont pas les mêmes que celles d'une TextBox VB6
3) utilise pour ta textbox l'évènement KeyDown ou l'évènement KeyUp pour "relever" l'emploi de la touche ENTER
4) c'est la dernière fois que je répondrai à une de tes questions si tu ne sais pas la poser dans le bon thème (VBA et non VB6). Sérieux
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
8
Bonjour,

Quelqu'un pourrait me dire pourquoi ?


C'est évident! La touche Enter permet de valider le contenu... Donc c'est une touche spécial pour la TextBox... voilà pourquoi!

Essayes ceci pour mieux comprendre comment t'en sortir :
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
MsgBox KeyCode
'if keycode=13 then ...
End Sub


Amicalement,
Us.
Messages postés
87
Date d'inscription
jeudi 5 novembre 2009
Statut
Membre
Dernière intervention
3 janvier 2012

Merci A vous le code fourni par US_30 marche parfaitement.

Je suis désolé je me suis trompé de section donc si un modérateur pouvait la déplacer dans la section VBA avec toutes mes excuses...

Merci encore
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
8
Hum... de rien. Si tu pouvais le demander à un modérateur...

Amicalement,
Us.