Bon ben je crois que j'ai trouvé mon bonheur :
(il faut utiliser le microsoft visual basic x.x extensibility)
http://bidou.ftp-developpez.com/Cours/VB/VB-excel2.pdf
http://www.cpearson.com/excel/vbe.htm
un pti exemple pour la route (recuperé sur le pdf en lien)
Public Sub AjoutBouton()
Dim MaFeuille As Worksheet, MonBouton As Shape, PosLigne As Integer
Set MaFeuille = ThisWorkbook.Worksheets("pilotage" )
Set MonBouton =
MaFeuille.Shapes.AddOLEObject(ClassType:="Forms.CommandButton.1",
Left:=100, Top:=100, Width:=100, Height:=200)
MonBouton.Name = "CommandButton1"
With ThisWorkbook.VBProject.VBComponents("Feuil4" ).CodeModule
.CreateEventProc "Click", "CommandButton1"
PosLigne = .ProcStartLine("CommandButton1_Click", vbext_pk_Proc)
.InsertLines PosLigne + 3, "msgbox " & Chr(34) & "nouveau bouton" &
Chr(34)
End With
End Sub