Voilà le code

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
27
28
29
30
31
32
33
34
35
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim WS As Worksheet
Dim BtnRtr As OLEObject
Dim mCode As String
MsgBox "Vous avez double cliqué sur la cellule " & Target.Address
If Target.Address = "$A$1" Then
Workbooks.Open "C:\Documents and Settings\user\Bureau\allobob-.xlsx"
Workbooks("allobob-.xlsx").Sheets(1).Copy after:=Workbooks("Copie de Adupliquer.xlsm").Sheets(3)
Workbooks("Copie de Adupliquer.xlsm").Sheets(4).Name = "Allobob"
Windows("allobob-.xlsx").Close
 
Set WS = ThisWorkbook.Worksheets("Allobob")
With WS
    Set BtnRtr = .OLEObjects.Add("Forms.CommandButton.9")
    With BtnRtr
        .Name = "BtnRtr9"
        .Left = 500
        .Top = 40
        .Width = 50
        .Height = 20
        .Object.Caption = "Effacer"
    End With
 
    mCode = "Sub BtnRtr9_Click()" & vbCrLf
    mCode = mCode & "Cells(3,1).Clear" & vbCrLf
    mCode = mCode & "End Sub"
 
   With ThisWorkbook.VBProject.VBComponents(.CodeName).CodeModule
        .InsertLines .CountOfLines + 1, mCode
    End With
End With
 
End If
Cancel = True
End Sub

Sur la feuil1 par doubleclick de la cellule A1 j'ajoute un onglet qui correspond au fichier à récupérer, il se place en 4éme position.

Ensuite le code doit ajouter un commandbutton sur cette feuille nouvellement crée.
C'est là , sur la ligne Set BtnRtr = .OLEObjects.Add("Forms.CommandButton.9")

qu'il m'affiche une erreur 1004. Impossible d'insérer un objet

Je suis bloqué depuis ce matin, qq'un voit-il ou est le problème ?

j'ai bien mis la reference visual basic for applications