Médiaforma

VBA Excel – Exécution d’une procédure à l’appui sur une touche ou une combinaison de touches

Print Friendly, PDF & Email

VBA est en mesure d’exécuter une procédure lorsque l’utilisateur appuie sur une touche ou une combinaison de touches. Pour cela, vous utiliserez la procédure Application.OnKey :

Application.OnKey "touche", "proc"

touche est la touche ou la combinaison de touches qui déclenche l’exécution de la procédure proc.

Le tableau ci-après donne un aperçu de la syntaxe à utiliser.

Touche Code de la touche
Majuscule +
Contrôle ^
Alt %
Suppr {DELETE}
Retour Arrière {BACKSPACE}
Verr Num {NUMLOCK}
Verr Maj {CAPSLOCK}
Arrêt Defil {SCROLLLOCK}
Page Suivante {PGDN}
Page précédente {PGUP}
Haut {UP}
Bas {DOWN}
Gauche {LEFT}
Droite {RIGHT}
Origine {HOME}
Fin {END}
F1 à F12 {F1} à {F12}
Entrée {ENTER}
Echap {ESC}
Insertion {INSERT}
Impr écran {PRTSC}
Tabulation {TAB}

 

Vous appellerez la méthode Application.OnKey dans la procédure Workbook_Open().

Ouvrez la fenêtre Microsoft Visual Basic pour Applications du classeur concerné. Double-cliquez sur ThisWorkbook dans la fenêtre Projet (1) et sélectionnez Workbook dans la liste déroulante Objet (2). La procédure Workbook_Open() est automatiquement créée. Il ne vous reste plus qu’à la compléter (3). Ici par exemple, la procédure raccourci() est exécutée lorsque l’utilisateur appuie sur Contrôle + Alt + j :

Voici le code utilisé :

Private Sub Workbook_Open()

  Application.OnKey "^%j", "raccourci"

End Sub

Il ne reste plus qu’à définir la procédure raccourci(). Sous Module, double-cliquez sur Module1 et définissez la procédure raccourci() :

Sub raccourci()

  MsgBox "Vous avez appuyé sur Contrôle + Alt + J"

End Sub

Chaque fois que l’utilisateur appuie simultanément sur les touches Contrôle, Alt et j, une boîte de dialogue s’affiche :

Vous avez aimé cet article ? Partagez-le avec vos réseaux...