Bonjour le forum,

j'ai un petit souci, je souhaite intégrer dynamiquement un bouton sur une feuille. Mais j'ai à chaque fois une erreur du type "objet requis".

Pouvez vous m'aider?

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
 
Public Sub insererBP()
 
    Dim boutonext As Object
    Dim codeext As String
 
    Sheets("Correction").Select
    Set boutonext = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Left:=300, Top:=95, Width:=135, Height:=28)
    boutonext.Name = "Inserer"
    boutonext.Object.Caption = "Insérer"
 
    codeext = "Sub Inserer_Click()" & vbCrLf & "    MsgBox(""Hello"" )" & vbCrLf & "End Sub"
    With recap.VBProject.VBComponents(recap.Sheets(1).Name).CodeModule
        nbl = .CountOfLines
        .insertlines nbl + 1, codeext
    End With
End Sub
MAJ le problème vient de l'insertion du code dans le bouton

MAJ2; j'a fait évoluer le code, mais toujours avec une erreur. cette fois : incompatibilité de type

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
    Dim boutonext As Object
    Dim codeext As String
 
    Sheets("Correction").Select
    Set boutonext = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Left:=300, Top:=95, Width:=135, Height:=28)
    boutonext.Name = "Inserer"
    boutonext.Object.Caption = "Insérer"
 
    codeext = "Private Sub Inserer_Click()" & vbCrLf & " insererBase " & vbCrLf & "End Sub"
 
    ActiveWorkbook.VBProject.VBComponents(Sheets("Correction")).CodeModule.InsertLines 1, codeext