Assigner un raccourci à une macro via le code

Bonjour à tous,

Je cherche à assigner des raccourcis claviers aux macros de mon classeur personnel. Bien évidemment, je peux le faire via les options desdites macros, mais les seuls raccourcis possibles sont Ctrl(+Shift)+[...].

Je souhaiterais attribuer des raccourcis de type Alt+[...] (voire Alt+Shift+[...] pour éviter les conflits avec les raccourcis natifs).

Par exemple, je voudrais assigner le raccourci Alt+Shift+W à la macro generateWS et Alt+Shift+N à la macro nbForm.

J'ai donc fait ceci :

Private Sub raccourcis()
Application.OnKey "%+W", "generateWS"
Application.OnKey "%+N", "nbForm"
End Sub

Mais : le raccourci Alt+Shift+W ne fonctionne qu'après avoir rafraichi la macro raccourci() depuis l'éditeur VBA, et le second raccourci ne fonctionne pas du tout.

Qu'est-ce que je fais mal ?

Merci d'avance pour vos retours et bonne journée !

Bonjour,

Private Sub raccourcis()

Application.OnKey "%+W", "generateWS"

Application.OnKey "%+N", "nbForm"

End Sub

Mais : le raccourci Alt+Shift+W ne fonctionne qu'après avoir rafraichi la macro raccourci() depuis l'éditeur VBA,

As-tu essayé de le mettre comme ceci

Private Sub Workbook_Open()
Application.OnKey "%+W", "generateWS"
End Sub

Merci.

Non, toujours le même résultat...

Pour N, il est même impossible de désactiver ...

Application.OnKey "%+N", ""

ne fonctionne pas non plus !

Merci pour vos retours.

Non, toujours le même résultat...

Pour moi le W fonctionne lors du lancement du classeur.

Mais je n'ai peut-être pas tout saisi ta demande (je n'utilise pas de classeur personnel)

3onkey.xlsm (13.30 Ko)

Slt tout le monde,

Essaie comme ca

Private Sub raccourcis()
Application.OnKey "+%W", "generateWS"
Application.OnKey "+%N", "nbForm"
End Sub
Rechercher des sujets similaires à "assigner raccourci macro via code"