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 !
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.