Méthode Onkey pour créer un raccourci dans une feuille seule

Bonjour Forum !

J’utilise la méthode Onkey pour créer des raccourcis qui lancent des macros dans tous les classeurs, ou dans des classeurs spécifiques.

En revanche, est-il possible de créer des raccourcis valables dans une feuille seulement ?

Si oui, quelle est la bonne syntaxe ?

Merci !

Bonjour,

une méthode possible, reprogrammer tes onkeys lors du changement de feuille (sur base de l'évènement workbook sheetchange ou workbook sheetactivate).

Merci pour ta réponse.

Malheureusement pour moi, je manipule le VBA en amateur, et je ne sais pas quoi faire de ce que tu me dis....

Pourrais-tu être un peu plus concret ?

bonjour,

macro à mettre dans le code du classeur, il faut compléter les instruction onkey et sans doute changer les noms des onglets/feuilles.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Select Case Sh.Name

Case "Feuil1"
Application.OnKey ...
Application.OnKey ...

Case "feuil2"
Application.OnKey ...
Application.OnKey ...

Case "feuil3"
Application.OnKey ...
Application.OnKey ....

Case Else
Application.OnKey ...
Application.OnKey ...

End Select

End Sub

Merci beaucoup pour ta réponse : on s'approche, on s'approche...

J'ai donc collé le code suivant dans "ThisWorkbook" :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Select Case Sh.Name

Case "MA_FEUILLE"
    Application.OnKey "^%d", "toto.xls!macro"

Case Else
    Application.OnKey "^%d", ""

End Select

End Sub

Et mon raccourci lance la macro, et c'est cool !

En revanche, j'ai créé la ligne :

    Application.OnKey "^%d", ""

pour désactiver le raccourci dans les autres feuilles, et ça ne marche pas...

(c'est-à-dire que quand je fais mon raccourci, Excel revient sur la feuille "MA_FEUILLE" et exécute la macro)

Une idée pour résoudre ce dernier problème ?

Bonjour,

essaie en mettant ces instructions dans la procédure

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Select Case Sh.Name

Case "MA_FEUILLE"
    Application.OnKey "^%d", "toto.xls!macro"

Case Else
    Application.OnKey "^%d", ""

End Select

End Sub

et supprime ceci

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Select Case Sh.Name

Case "MA_FEUILLE"
    Application.OnKey "^%d", "toto.xls!macro"

Case Else
    Application.OnKey "^%d", ""

End Select

End Sub
 

Merci pour ta réponse.

Avec cette modif, le raccourci ne lance plus la macro... snif...

Je relance le sujet : personne n'a d'idée pour qu'un raccourci créé par la méthode Onkey lance une macro seulement dans une feuille, et pas dans les autres ?

A tout hasard, je relance à nouveau ce sujet...

Rechercher des sujets similaires à "methode onkey creer raccourci feuille seule"