Sub listeMacros()
'necessite d'activer la reference Visual basic For Application Extensibility 5.3
Dim i As Integer, Ajout As Integer
Dim Msg As String
Dim VBCmp As VBComponent
Dim x As Integer
Ajout = 1
For Each VBCmp In ThisWorkbook.VBProject.VBComponents
Msg = VBCmp.Name
With Cells(Ajout, 1)
.Interior.ColorIndex = 6
.Value = Msg
End With
x = ThisWorkbook.VBProject.VBComponents(Msg).codemodule.CountOfLines
For i = 1 To x
Cells(Ajout + i, 1) = _
ThisWorkbook.VBProject.VBComponents(Msg).codemodule.Lines(i, 1)
Next
Ajout = Ajout + x + 2
Next VBCmp
End Sub