Bonjour à tous,
Petit soucis mais gros casse tête pour moi
A l'ouverture de mon classeur j'utilise le code suivant pour créer un bouton sur une feuille de calcul avec son code associé. Ça fonctionne comme souhaité
A la fermeture du classeur j'utilise le code suivant pour détruire ce bouton ainsi que son code. Ça fonctionne mais à chaque fois j'ai une boîte de dialogue me disant
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
17
18
19
20
21
22
23
24
25
26 Private Sub Workbook_Open() Dim leBouton As OLEObject Dim code As String Dim ligneSuivante Set leBouton = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1") With leBouton .Name = "BoutonCommande" .Left = 460 .Top = 112.5 .Width = 100 .Height = 25 .Object.Caption = "Année : " & Year(Date) + 1 End With code = "Private Sub BoutonCommande_Click" & vbCrLf code = code & "sc" & vbCrLf code = code & "End Sub" & vbCrLf With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule ligneSuivante = .CountOfLines + 1 .insertlines ligneSuivante, code End With End Sub
"Erreur d'exécution '424' Objet requis"
Je ne comprends pas car le bouton et le code sont bien supprimés, tout fonctionne comme je le souhaite hormis cette boîte de dialogue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Workbook_BeforeClose(Cancel As Boolean) With ActiveWorkbook.VBProject.VBComponents(Sheets("2013").CodeName).CodeModule .DeleteLines 1, .CountOfLines End With [BoutonCommande].Delete ActiveWorkbook.Close SaveChanges:=True End Sub
Si vous pouviez m'indiquer une voie de recherche
Merci
JP
Partager