ePour être clair, la touche "Menu contextuel" est située à droite de la barre d'espacement, à côté de la touche Control. Quand cette touche est enfoncée, Excel affiche par défaut le menu contextuel qui serait déroulé si le pointeur de la souris était déplacé à la position du curseur texte, le caret, et qu'un clic droit y était réalisé. Cette touche est essentielle à ceux qui travaillent exclusivement au clavier.
En utilisant l'événement Worksheet_BeforeRightClick, il est possible de supplanter le menu contextuel d'Excel et de lui substituer un menu de remplacement, plus approprié à l'application que l'on développe. Lorsque l'on procède de la sorte, la cohérence voudrait que ce même menu de remplacement soit affiché lorsque la touche Menu est enfoncée. Ce n'est pourtant pas le cas, Excel continuant d'afficher ses propres menus.
Je cherche donc un moyen d'associer à cette touche une macro qui afficherait le même menu que celui produit par le clic droit.
La méthode Application.OnKey n'a pas prévu de constante pour signifier cette touche clavier. Et la tentative naïve suivante ne donne pas de résultat positif, même si l'instruction s'exécute normalement :
Quelqu'un aurait-il une idée sur la façon d'associer une macro à cette touche ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Application.OnKey chr$(vbKeyMenu), "MaMacro"
Partager