Dim Wb As Workbook
Dim Ws As Worksheet
Dim x As Integer
Dim leCode As String
Set Wb = Workbooks.Add
For Each Ws In Wb.Worksheets
leCode = "MsgBox ""Vous avez activé la feuille " & Ws.Name & ""
With Wb.VBProject.VBComponents(Ws.Name).CodeModule
x = .CreateEventProc("Activate", "WorkSheet")
.InsertLines x + 1, leCode
End With
Next Ws
Sub test()
Dim Wb As Workbook
Dim Ws As Worksheet
Dim x As Integer
Dim leCode As String
Dim I&
Dim T
Set Wb = ActiveWorkbook
T = Array("Feuil1", "Feuil5", "Feuil7")
For I = LBound(T) To UBound(T)
With Wb.VBProject.VBComponents(T(I)).CodeModule
x = .CreateEventProc("Activate", "WorkSheet")
.InsertLines x + 1, "Sheets(""" & T(I) & """).Visible= False"
End With
Next I
End Sub
Dim VBComp As VBComponent
Dim X As Integer
Set VBComp = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule)
VBComp.Name = "NouveauModule"
With ThisWorkbook.VBProject.VBComponents("NouveauModule").CodeModule
X = .CountOfLines
.InsertLines X + 1, "Sub macroTest()"
.InsertLines X + 2, "MsgBox ""Bonjour"""
.InsertLines X + 3, "End Sub"
End With