Bon, comme tu m'avais l'air assez désemparé, je t'ai fait une macro très simplifiée qui insère une nouvelle feuille dans le classeur et qui, dans la foulée, ajoute à cette feuille une macro Worksheet_Calculate
Sub InsertionLignesDeCode()
'Ti 16-01-03
'pour que cette macro fonctionne, il faut aller dans le menu
'Outils...Références de VBA et cocher la référence :
'"Microsoft Visual Basic For Application Extensibility 5.3"
Dim VBComp As VBComponent, WkBk As Workbook
Dim NomFeuille As String, NomCode As String
'le nom de la nouvelle feuille
NomFeuille = "Feuille Test"
Set WkBk = ThisWorkbook
With WkBk
'on l'insère en dernière position dans cet exemple
With .Worksheets.Add(after:=Sheets(.Worksheets.Count))
.Name = NomFeuille
End With
NomCode = .Worksheets(NomFeuille).CodeName
Set VBComp = .VBProject.VBComponents(NomCode)
End With
With VBComp.CodeModule
.InsertLines .CountOfLines + 1, "Private Sub Worksheet_Calculate()"
'ligne de test (à enlever bien sûr)
.InsertLines .CountOfLines + 1, " msgbox ""essai de Worksheet_calculate"""
'ici les autres lignes de la macro
'.InsertLines .CountOfLines+1, " "
'.InsertLines .CountOfLines+1, " "
.InsertLines .CountOfLines + 1, "end sub"
End With
End Sub