Sub test()
'Nécéssite d'activer la référence
'"Visual basic For Application Extensibility 5.3"
'
Dim Wb As Workbook
Set Wb = Workbooks("Classeur1.xls")
SupprimerMacroPrecise Wb, "Module3", "Macro1"
'Un autre exemple pour supprimer un procédure évènementielle
'SupprimerMacroPrecise Wb, "ThisWorkbook", "Workbook_Open"
End Sub
Sub SupprimerMacroPrecise(Wb As Workbook, Mdl As String, NomMacro As String)
Dim Debut As Integer, Lignes As Integer
With Wb.VBProject.VBComponents(Mdl).CodeModule
Debut = .ProcStartLine(NomMacro, 0)
Lignes = .ProcCountLines(NomMacro, 0)
.DeleteLines Debut, Lignes
End With
End Sub