Sub listerMacro()
'Nécessite d'activer la référence
'Microsoft "Visual basic For Application Extensibility 5.3"
Dim Ajout As Integer
Dim VBCmp As VBComponent
Dim cdMod As CodeModule
Dim Wb As Workbook
Dim Debut As Long
Dim i As Integer
'Indiquez le nom du classeur ouvert
Set Wb = ThisWorkbook
'Boucle sur tous les composantsdu projet :
'Modules standards
'Modules de feuilles et de classeur
'Modules de classe
'UserForms
i = 2
For Each VBCmp In Wb.VBProject.VBComponents
Set cdMod = VBCmp.CodeModule
With cdMod
Debut = .CountOfDeclarationLines + 1
Do Until Debut >= .CountOfLines
'Nom de la procédure et du module
Cells(i, 1) = VBCmp.Name
Cells(i, 2) = .ProcOfLine(Debut, vbext_pk_Proc)
Debut = Debut + .ProcCountLines(.ProcOfLine(Debut, vbext_pk_Proc), vbext_pk_Proc)
i = i + 1
Loop
End With
Next VBCmp