Pour rouler ce code, tu dois ajouter la bibliothèque suivante:
"Microsoft Visual Basic for Application Extensibility 5.3"
Sub test()
'Nom du classeur, Nom du module, Nom Macro
MettreEnCommentaire ThisWorkbook.Name, "Module3", "Macro5"
End Sub
Sub MettreEnCommentaire(NomDuClasseur As String, _
NomDuModule As String, _
NomDeLaSub As String)
Dim Debut As Integer, Fin As Long, T As String, A
'.On Error Resume Next
With Workbooks(NomDuClasseur)
With .VBProject.VBComponents("Module3").CodeModule
Debut = .ProcStartLine(NomDeLaSub, 0)
Fin = .ProcCountLines(NomDeLaSub, 0) + Debut
For A = Debut To Fin
If .Lines(A, 1) <> "" Then
T = "'" & .Lines(A, 1)
.ReplaceLine (A), T
End If
Next
End With
End With
End Sub