Bonsoir.
Je débute en VB pour Excel.
J’utilise Excel 2003, Windows XP Pro
Je voudrais utiliser cette macro unique trouvée sur un autre site :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Workbook_Open()
Dim liDeb, NbLi
 
'exécute une action à l'ouverture
Msg = "La procédure Workbook_Open a été exécutée"
ActiveSheet.Range("A1").Value = Msg
 
'détruit la procédure
'(l'action ne sera donc exécutée qu'une seule fois)
With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
liDeb = .ProcStartLine("Workbook_Open", 0)
NbLi = .ProcCountLines("Workbook_Open", 0)
.DeleteLines liDeb, NbLi
End With
 
End Sub
J’ai copié ce code dans le module « ThisWorkbook » du classeur dans lequel je voudrai voir disparaître tout ce code et celui que je lui ai ajouté avant la ligne « 'détruit la procédure »,
Afin qu’après le premier lancement de ce classeur ces codes ne se lancent plus.

Mais j’ai une erreur sur la ligne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
erreur d’exécution ‘1004’
erreur définie par l’application ou par l’objet

Dans « outils/références » j’ai coché « Microsoft Visual Basic for Applications Extensibility 5.3 »

Malgré la lecture de multiples sites ou forums, je sèche lamentablement !
Pouvez-vous m'aider ?
Merci.