OVH Cloud OVH Cloud

Evenement sur touche appuyée

3 réponses
Avatar
Loïc
Bonjour à tous,

J'aimerais lorsque l'utilisateur a fini de taper son critère de recherche
dans une combo box et qu'il valide par la touche Enter, faire partir un
événement. Je pensais utiliser l'événement KeyDown mais je ne sais pas
comment repérer que c'est bien la touche Enter (constante vbKeyReturn sauf
erreur) qui est pressée.

Auriez vous quelques lignes de code à me suggérer afin d'effectuer un test
lors de la saisie du critère de choix ? exemple : if keypress=vbKeyReturn
Then msgbox("Touche pressée") :).

Meilleures salutations
Loïc

3 réponses

Avatar
Eric
Bonjour Loïc,

Comme ceci par exemple :

Private Sub Modifiable0_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
MsgBox "On vient d'appuyer sur Return"
End If
End Sub
--
A+
Eric
Lien à suivre : http://users.skynet.be/mpfa/

"Loïc" écrivait
news:#U0I#:

Bonjour à tous,

J'aimerais lorsque l'utilisateur a fini de taper son critère de
recherche dans une combo box et qu'il valide par la touche Enter,
faire partir un événement. Je pensais utiliser l'événement KeyDown
mais je ne sais pas comment repérer que c'est bien la touche Enter
(constante vbKeyReturn sauf erreur) qui est pressée.

Auriez vous quelques lignes de code à me suggérer afin d'effectuer un
test lors de la saisie du critère de choix ? exemple : if
keypress=vbKeyReturn Then msgbox("Touche pressée") :).

Meilleures salutations
Loïc





Avatar
Raymond [mvp]
Bonjour.

Pour tester si la valeur de la liste a changé il faut tester l'évènement
AfterUpdate de cette liste. Si la touche Echap a été enfoncée et que la
touche entrée soit frappée, l'évènement afterupdate ne se déclenche pas. Si
un changement a lieu, même si les mêmes caractères sont frappés, l'évènement
afterupdate est déclenché. s'il n'y a pas changement, aucune raison de
ré-exécuter la procédure prévue, mais s'il y a changement on ré-exécute la
procédure prévue. Le fait de sélectionner une valeur dans la liste par la
souris déclenche l'évènement même si c'est la même valeur qui a été
sélectionnée. Donc pas besoin de tester les touches mais seulement le
afterupdate.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Loïc" a écrit dans le message de news:
%23U0I%
Bonjour à tous,

J'aimerais lorsque l'utilisateur a fini de taper son critère de recherche
dans une combo box et qu'il valide par la touche Enter, faire partir un
événement. Je pensais utiliser l'événement KeyDown mais je ne sais pas
comment repérer que c'est bien la touche Enter (constante vbKeyReturn sauf
erreur) qui est pressée.

Auriez vous quelques lignes de code à me suggérer afin d'effectuer un test
lors de la saisie du critère de choix ? exemple : if keypress=vbKeyReturn
Then msgbox("Touche pressée") :).

Meilleures salutations
Loïc




Avatar
Loïc
Salut,
Nickel merci infiniment effectivement l'évenement afterupdate gère
exactement ce qu'il faut.

Salutations
Loïc
"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

Pour tester si la valeur de la liste a changé il faut tester l'évènement
AfterUpdate de cette liste. Si la touche Echap a été enfoncée et que la
touche entrée soit frappée, l'évènement afterupdate ne se déclenche pas.
Si

un changement a lieu, même si les mêmes caractères sont frappés,
l'évènement

afterupdate est déclenché. s'il n'y a pas changement, aucune raison de
ré-exécuter la procédure prévue, mais s'il y a changement on ré-exécute la
procédure prévue. Le fait de sélectionner une valeur dans la liste par la
souris déclenche l'évènement même si c'est la même valeur qui a été
sélectionnée. Donc pas besoin de tester les touches mais seulement le
afterupdate.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Loïc" a écrit dans le message de news:
%23U0I%
Bonjour à tous,

J'aimerais lorsque l'utilisateur a fini de taper son critère de
recherche


dans une combo box et qu'il valide par la touche Enter, faire partir un
événement. Je pensais utiliser l'événement KeyDown mais je ne sais pas
comment repérer que c'est bien la touche Enter (constante vbKeyReturn
sauf


erreur) qui est pressée.

Auriez vous quelques lignes de code à me suggérer afin d'effectuer un
test


lors de la saisie du critère de choix ? exemple : if
keypress=vbKeyReturn


Then msgbox("Touche pressée") :).

Meilleures salutations
Loïc