Bonjour,

J'ai créé une macro VBA dans un module Excel d'un classeur source qui permet de générer un nouveau fichier Excel un classeur cible.

Dans le classeur cible, je souhaiterais avoir un bouton qui permet de mettre à jour certaines feuilles. J'arrive à créer le code pour créer le bouton dans on classeur cible, par contre je n'arrive pas à affecter une macro.

Voici le code de ma macro dans le classeur source:

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
    Dim Code As String
    Dim Objet As OLEObject
    Dim X As String
    Dim NextLine As Long
 
    ThisWorkbook.Worksheets(1).Activate
 
     Set Objet = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
        , DisplayAsIcon:=False, Left:=111, Top:=81.75, Width:=368.25, Height _
        :=116.25)
 
    Objet.Object.Caption = "Mise à jour"
    Objet.Name = "MAJ"
 
 
    Code = "Private Sub MAJ_Click()" & vbCrLf
    Code = Code & "Sheets(""ThisWorkbook.Worksheets(1).name"").select" & vbCrLf
    Code = Code & "End Sub"
 
    With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
    NextLine = .CountOfLines + 1
    .Insertlines NextLine, Code
    End With
Le bouton se crée bien dans mon classeur cible, par contre lorsque je clique dessus, le code "MAJ" ne se lance pas.

Je vous remercie par avance si vous avez des idées pour faire fonctionner le code.

Cakola