Don aime utiliser les menus contextuels qui apparaissent lorsqu’il clique avec le bouton droit sur une cellule. Une fois que le menu contextuel est visible, il peut appuyer sur une touche de raccourci de la commande qu’il souhaite exécuter. (La touche de raccourci est la lettre soulignée pour chaque option du menu contextuel.) Le problème est que le menu contextuel comporte deux éléments qui utilisent la même touche de raccourci: Copier et Créer une liste. Puisqu’il n’utilise jamais l’option Créer une liste, Don adorerait s’en débarrasser complètement, de sorte que seule la commande Copier soit initiée par la touche de raccourci C.

La seule façon de changer les menus contextuels est via une macro. Le code pour effectuer un tel changement est identique au code utilisé pour d’autres menus ou barres de commandes. Il y a une énorme discussion (beaucoup trop grande pour cette astuce) sur la façon de faire ces types de changements dans la base de connaissances Microsoft, à cette adresse:

http://support.microsoft.com/kb/830502

Des informations supplémentaires, spécifiques aux menus contextuels (ce que Microsoft appelle de manière confuse les menus contextuels), peuvent être trouvées dans cet article de la base de connaissances:

http://support.microsoft.com/kb/213209

Bien qu’il existe une mine d’informations dans ces deux articles, le code réel pour modifier le menu contextuel qui apparaît lorsque vous cliquez avec le bouton droit sur une cellule est relativement simple. En fait, il peut se résumer à une macro sur une seule ligne:

Sub RemoveCreateList()

Application.CommandBars("Cell").Controls("Create List...").Delete End Sub

Exécutez la macro et l’élément Créer une liste est parti. Vous pouvez supprimer tout autre élément du menu en remplaçant simplement le texte « Créer une liste …​ » par le libellé exact de l’élément de menu que vous souhaitez supprimer. Lorsque vous souhaitez ultérieurement restaurer le menu, vous exécutez une autre macro sur une seule ligne pour le réinitialiser:

Sub ResetMenu()

Application.CommandBars("Cell").Reset End Sub

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (3089) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.