bonjour Oiseaubleu,
un essai
Sub Mes_Boutons()
Dim shS, shD, shp, shp0, c
Set shS = Sheets("Feuil2") 'Source
Set shD = Sheets("Feuil1") 'Destination
arr = Array("Retour", "Enregistrer", "Recuperer", "Effacer") 'ces 4 boutons
For Each btn In arr
On Error Resume Next
Set shp = Nothing
Set shp = shD.Shapes(CStr(btn) & "btn")
If shp Is Nothing Then
Set shp0 = shS.Shapes(CStr(btn) & "btn") 'bouton original
Set shp = shp0.Duplicate 'copie
On Error GoTo 0
If shp Is Nothing Then
MsgBox "bouton original n'existe pas", vbCritical, btn
Else
With shp 'le copie
.Name = shp0.Name 'renommer
.Cut
shD.Paste 'déplacer
End With
With shD.Shapes(CStr(btn) & "btn") 'copie déplacée
.Top = shp0.Top 'même position que l'original
.Left = shp0.Left
End With
End If
End If
Next
On Error GoTo 0
Application.CutCopyMode = False
Application.Goto ActiveCell
End Sub