Evénement sur Touche Enter TextBox

Bonjour,

Je débute tout juste sur VBA Excel. J'aimerais déclencher une action lorsque j'appuie sur la touche ENTER lorsque je suis dans une TextBox. J'ai réussi avec la fonction KeyAscii pour de nombreuse touches, mais pas pour ENTER... (code ASCII 13). Voilà mon code avec le déclenchement sur ESPACE (qui marche parfaitement). Pourquoi la touche ENTER présente t-elle une difficulté sur Excel ? (de même pour Ctrl, Tab, Shift...)

Merci de votre réponse !

Private Sub Text1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

If KeyAscii = 32 Then

Call Bouton3_Clic

End If

End Sub

Bonsoir,

Tu confonds l'appui sur une touche et sa fonction ! Ce que tu testes dans ta procédure c'est la production d'un caractère, identifié par son code ASCII. Cela peut apparaître semblable à l'appui sur une touche, lorsque cette touche ne sert qu'à produire ce caractère. Mais il ne faut pas confondre les deux choses.

Dans la situation où tu te trouves (curseur en position de saisie dans une TextBox), l'appui sur la touche Entrée (dès lors que tu n'as pas affectée la propriété d'un CommandButton à True, ce qui lui ferait alors déclencher la procédure attachée à ce bouton) provoque la validation de la saisie dans la TextBox et passage du focus au contrôle suivant dans l'ordre de tabulation.

Cordialement.

Bonjour,

Merci pour votre réponse !

Dans la situation où tu te trouves (curseur en position de saisie dans une TextBox), l'appui sur la touche Entrée (dès lors que tu n'as pas affectée la propriété d'un CommandButton à True, ce qui lui ferait alors déclencher la procédure attachée à ce bouton) provoque la validation de la saisie dans la TextBox et passage du focus au contrôle suivant dans l'ordre de tabulation.

Cependant, contrairement à ce que je trouve sur internet, l'appuie sur la touche Entrée ne provoque PAS la validation de la saisie dans la TextBox et passage du focus au contrôle suivant dans l'ordre de tabulation. Au contraire, absolument rien ne se passe. (Je travail sur une feuille Excel 2007).

Le seul moyen pour moi d'utiliser la touche Entrée dans un TextBox est de configurer dans ses propriétés :

EnterKeyBehavior = True

MultineLine = True

Et également TabKeyBehavoir = True pour autoriser la tabulation dans la TextBox

Cependant, la touche Entrée ne me permet pas de valider ou de passer le focus au contrôle suivant...

Tu confonds l'appui sur une touche et sa fonction ! Ce que tu testes dans ta procédure c'est la production d'un caractère, identifié par son code ASCII. Cela peut apparaître semblable à l'appui sur une touche, lorsque cette touche ne sert qu'à produire ce caractère. Mais il ne faut pas confondre les deux choses.

Dans ce cas, quel est le code que je dois utiliser pour tester l'appui sur une touche et non la production d'un caractère ?

Merci

Si tu n'indiques pas que tu n'es pas dans un Userform à propos de contrôles Forms, ta question est incomplète car leur comportement n'est alors pas le même...

Je ne vois pas de réponse à ta question... Il me semblerait donc judicieux de repenser le problème à la source de la question...

Cordialement.

Rechercher des sujets similaires à "evenement touche enter textbox"