Générer une liste de macros (Microsoft Excel)
Une fois que vous avez commencé à écrire des macros Excel, il est facile d’en obtenir plusieurs dans un classeur. À un moment donné, vous souhaiterez peut-être générer une liste de macros dans votre classeur. 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 VBCodeMod As CodeModule Dim oListsheet As Object Dim StartLine As Long Dim ProcName As String Dim iCount As Integer Application.ScreenUpdating = False On Error Resume Next Set oListsheet = ActiveWorkbook.Worksheets.Add iCount = 1 oListsheet.[a1] = "Macro" For Each VBComp In ThisWorkbook.VBProject.VBComponents Set VBCodeMod = ThisWorkbook.VBProject.VBComponents(VBComp.Name).CodeModule With VBCodeMod StartLine = .CountOfDeclarationLines + 1 Do Until StartLine >= .CountOfLines oListsheet.[a1].Offset(iCount, 0).Value = _ .ProcOfLine(StartLine, vbext_pk_Proc) iCount = iCount + 1 StartLine = StartLine + _ .ProcCountLines(.ProcOfLine(StartLine, _ vbext_pk_Proc), vbext_pk_Proc) Loop End With Set VBCodeMod = Nothing Next VBComp 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. (Voir la figure 1.)
-
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.
-
Fermez la boîte de dialogue.
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 (2715) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:
link: / excelribbon-Generating_a_List_of_Macros [Génération d’une liste de macros]
.