Médiaforma

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

Partagez cet article sur vos réseaux

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 :

 
Commentaires