Public Collect As Collection
Private Bouton_Valideur()  As New Bouton_Test
Sub Charger_Revue()
    Dim Bouton As Object
    Dim i As Byte
    Dim Cptr As Byte
    For Each Bouton In ThisWorkbook.Sheets("Test").OLEObjects
        Bouton.Delete
    Next
      For i = 7 To 15
        Call AjouterBouton(ThisWorkbook.Sheets("Test").Cells(i, 15), i - 6)
    Next
Application.OnTime Now + TimeValue("00:00:01"), "recup"
End Sub
Sub recup()
 Dim Obj As OLEObject, Cl As Bouton_Test
 Set Collect = New Collection
 For Each Obj In Feuil4.OLEObjects
 If TypeOf Obj.Object Is MSForms.CommandButton Then
 Set Cl = New Bouton_Test
 Set Cl.MonBouton = Obj.Object
 Collect.Add Cl
 End If
 Next Obj
End Sub
Sub AjouterBouton(CellDest As Range, Position As Integer)
    Dim BoutonValid As Object
    Set BoutonValid = ThisWorkbook.Sheets("Test").OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False, Left:=1, Top:=1, Width:=70, Height:=30)
    With BoutonValid
        .Top = CellDest.Top + (CellDest.Height - .Height) / 2
        .Left = CellDest.Left + (CellDest.Width - .Width) / 2
        .Object.Caption = "Validation"
        .Object.Font.Bold = True
        .Object.ForeColor = &H823700
        .Object.BackColor = &H59BB9B
    End With
End Sub