voila ce que je te prose j'espère que cela peut t'être utile :
Dim Obj As Object
Set Obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
Link:=False, DisplayAsIcon:=False, Left:=200, Top:=100, Width:=100, Height:=35)
Obj.Name = "BoutonTest"
ActiveSheet.OLEObjects(1).Object.Caption = "nom du bouton"
ce code te permet de crée un bouton en ce qui concerne la macro je regarde sa dès que j'aurai le temps
sa pourai t'aider je pense :
https://forum.excel-pratique.com/excel/creer-un-bouton-par-macro-et-lui-affecter-une-macro-t21126.html