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:

  1. 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.)

  2. 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.

  3. 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].