Générer une liste de macros (Microsoft Excel)
Andrew a un classeur qui contient un bon nombre de macros. Il aimerait générer une liste de toutes les macros qu’il contient, il se demande donc s’il existe un moyen d’accomplir la tâche.
Il n’existe aucun moyen intrinsèque dans Excel de créer une liste de macros. Vous pouvez cependant créer une macro qui listera vos macros. (Une sorte de sons redondants, n’est-ce pas?)
À titre d’exemple, considérons la macro suivante, qui parcourt tous les projets de votre classeur pour recueillir tous les noms de macro et les placer dans une feuille de calcul:
Sub ListMacros() Dim VBComp As VBComponent Dim wsTarget As Worksheet Dim StartLine As Long Dim iRow As Integer Application.ScreenUpdating = False Set wsTarget = Worksheets.Add wsTarget.Range("A1") = "Macro" wsTarget.Range("A1").Font.Bold = True With wsTarget.Range("A1").Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlThin End With iRow = 2 For Each VBComp In ThisWorkbook.VBProject.VBComponents With VBComp.CodeModule StartLine = .CountOfDeclarationLines + 1 Do Until StartLine >= .CountOfLines wsTarget.Cells(iRow, 1) = _ .ProcOfLine(StartLine, vbext_pk_Proc) iRow = iRow + 1 StartLine = StartLine + _ .ProcCountLines(.ProcOfLine(StartLine, _ vbext_pk_Proc), vbext_pk_Proc) Loop End With Next VBComp wsTarget.Range("A1").EntireColumn.AutoFit Application.ScreenUpdating = True End Sub
Pour utiliser cette macro, vous devez vous assurer que vous disposez du jeu de références d’extensibilité Microsoft VBA. Pour ce faire, procédez comme suit:
-
Dans l’éditeur VBA, choisissez Références dans le menu Outils. La boîte de dialogue Références s’affiche.
-
Faites défiler la liste des références disponibles et assurez-vous que la case à cocher Extensibilité de Microsoft Visual Basic pour Applications est activée. (Il peut y avoir un numéro de version à la fin de la référence, mais il doit commencer par les mots indiqués.) (Voir la figure 1.)
-
Fermez la boîte de dialogue.
Vous devrez également modifier rapidement les paramètres de votre centre de confiance.
Suivez ces étapes:
-
Affichez le
lien: / excelribbon-Displaying_Excels_Developer_Tab [onglet Développeur]
du ruban. -
Dans le groupe Code, cliquez sur l’outil Sécurité des macros. Excel affiche la boîte de dialogue Centre de gestion de la confidentialité avec les options Paramètres des macros sélectionnées à gauche. (Voir la figure 2.)
-
Assurez-vous que l’option Trust Access to the VBA Project Object Model est sélectionnée.
-
Cliquez sur OK.
Lorsque vous exécutez la macro, il ajoute une nouvelle feuille de calcul à votre classeur, puis répertorie les noms de toutes les macros dans tous les modules du classeur.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (5225) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:
link: / excel-Generating_a_List_of_Macros [Génération d’une liste de macros]
.