Partager via

En VBA Excel, quelle(s) instruction(s) permet(tent) de savoir si un raccourci clavier est affecté à une macro (sub) ?

Anonyme
2022-02-10T09:30:45+00:00

bonjour,

En VBA EXCEL, quelle(s) instruction(s) permet de savoir si un raccourci clavier est affecté à une macro (sub) ?

j'ai trouvé cette macro, mais elle ne fonctionne pas dans excel 365 :

Sub ListeMacros()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer

Application.ScreenUpdating = False
Workbooks.Add.Worksheets(1).[A1:B1] = [{"Procédure","Raccourci"}]

SendKeys "%{F8}%a{PGUP}{TAB}{ESC}"

'nécessite une référence à la bibliothèque
'Microsoft Forms 2.0 Object Library
With New DataObject
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
SendKeys Rpt & "%n^c{ESC}", True
.GetFromClipboard
If Macro = .GetText(1) Then Exit Do
Macro = .GetText(1)
SendKeys Rpt & "%t^c{ESC}{ESC}", True
.GetFromClipboard
Racc = .GetText(1)
I = I + 1
Cells(I + 1, 1) = Macro
If Racc <> Macro Then Cells(I + 1, 2) = "Ctrl-" & Racc
Loop
End With
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
.CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
End Sub

Merci pour votre aide.

Bonne journée

Microsoft 365 et Office | Excel | Autres | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

DanielCo 107.7K Points de réputation
2022-02-10T17:04:52+00:00

Compris, la macro ne cherche que dans le classeur actif.

Pour chercher dans le classeur de macros personnelles, remplace :

Set vbProj = ActiveWorkbook.VBProject

par

Set vbProj = Workbooks("personal.xlsb").VBProject

Daniel

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

11 réponses supplémentaires

  1. Anonyme
    2022-02-10T16:21:43+00:00

    autre piste peut être : j'ai ajouté le code à un module existant dans le fichier personal.xlsb

    peut être faut il ajouter le code dans un module d'un nouveau fichier .xlsm ?

    merci.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2022-02-10T16:09:03+00:00

    bonjour,

    merci. j'ai retrouvé la fenêtre exécution mais quand j’exécute la macro, avec l'une des deux lignes suivantes, aucun résultat n'apparait dans la fenêtre Exécution :

    merci d'avance

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. DanielCo 107.7K Points de réputation
    2022-02-10T15:38:36+00:00

    Elle est peut-être sous une autre ou a àl'extérieur de la fenêtre de l'éditeur VBE. De toutes façons, tu peux remplacer la ligne :

    Debug.Print vbComp.Name, m.SubMatches(0), m.SubMatches(1)

    Par :

    Msgbox vbComp.Name & " " & m.SubMatches(0) & " " & m.SubMatches(1)

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2022-02-10T14:31:59+00:00

    Merci pour la précision.

    Lorsque je fais Affichage Fenêtre Exécution, elle n'apparait pas. Comment faire pour la faire apparaitre ?

    une fois qu'elle est apparue, il suffit d'executer la macro, c'est bien ça ?

    merci

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire