Execution d'une macro en fonction de la touche sélectionnée

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 077 fois - Téléchargée 26 fois

Contenu du snippet

Petite macro permettant d'assigner une macro en fonction de la touche selectionnée par l'utilisateur.
Ici, la touche "Echap" ferme l'appli et la touche "INSERT" insère une feuille.

Conclusion :


Dans une feuille du classeur
''Execution lorsque la feuille est activée
Private Sub Worksheet_Activate()
With Application
.OnKey "{ESC}", "Echap" 'lance la proc Echap
.OnKey "{INSERT}", "Insert" 'lance la proc Insert
End With
End Sub

'Pour remettre en place les fonctionnalités à la désactivation de la feuille
Private Sub Worksheet_Deactivate()
With Application
.OnKey "{ESC}", "" '''renvoie a aucune macro
.OnKey "{INSERT}", "" '''Renvoie aucune macro
End With
End Sub

Dans un module
Sub Echap()
''Affiche ce message lorsque l'utilisateur appuit sur la touche ESC
MsgBox "Vous avez appuyé sur la touche ESC"
ThisWorkbook.Close
End Sub

Sub Insert()
''Affiche ce message lorsque l'utilisateur appuit sur la touche INSER
MsgBox "Vous avez appuyé sur la touche INSER"
ActiveWorkbook.Sheets.Add
End Sub

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.