Créer un bouton VBA, Erreur sur code

Bonjour,

Voici mon code :

    Set Obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
    Link:=False, DisplayAsIcon:=False, Left:=600, Top:=10, Width:=100, Height:=35)
    Obj.Name = "BoutonImprimer"

Sheets("JDA" & NumeroJDA).Select

'Texte du bouton

    ActiveSheet.OLEObjects(1).Object.Caption = "Imprimer"

'Le texte de la macro
    Code = "Sub BoutonImprimer_Click()" & vbCrLf
    Code = Code & "Call Tester" & vbCrLf
    Code = Code & "End Sub"
'Ajoute la macro en fin de module feuille
    With ThisWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
        .insertlines .CountOfLines + 1, Code
    End With
    

Je ne comprend pas pourquoi mais le code bloque sur la ligne :

With ThisWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule

Il me dit "L'indice n'appartient pas à la sélection". Pourtant j'ai utilisé ThisWorkbook et ActiveSheet donc il ne devrait pas y avoir de problème...

Merci d'avance pour votre aide.

Je vous propose de joindre mon fichier anonymé.

Le principe est simple, sur la feuille "NATIONAL", cliquez sur une date en violet et cliquez sur le bouton JOURNAL en haut.

Le code est assez long avant d'arriver à la ligne qui plante. Merci infiniment aux personnes qui auront le courage de m'aider.

Cordialement.

16test-ccm.xlsm (210.59 Ko)

Bonjour

Je crois qu'il ne faut pas employer le Name mais le CodeName

    'With ThisWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
    With ThisWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
        .insertlines .CountOfLines + 1, Code
    End With

Range("A5").Select

End Sub

Pas de plantage avec ça

Rechercher des sujets similaires à "creer bouton vba erreur code"