Sub test()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
'shp.Select
'MsgBox shp.TextFrame.Characters.Caption
'MsgBox Split(shp.OnAction, "!")(1)
Cells(13, 2) = "Actuel"
Cells(13, 3) = "Modification"
Cells(14, 2) = "Nom bouton"
Cells(14, 3) = "Nom Bouton Modifié"
Cells(14, 4) = "Nom de la macro"
' Nom bouton
cpt = cpt + 1
Cells(14 + cpt, 2) = shp.TextFrame.Characters.Caption
' Si Nom Modifié = Nouveau nom
If Cells(14 + cpt, 3) <> Cells(14 + cpt, 2) And Cells(14 + cpt, 3) <> Empty Then
shp.TextFrame.Characters.Caption = Cells(14 + cpt, 3)
End If
' Affecte une macro a un bouton (la même a tous les boutons
shp.OnAction = "test"
' Nom de la macro
If shp.OnAction <> Empty Then
Cells(14 + cpt, 4) = Split(shp.OnAction, "!")(1)
End If
Next shp
End Sub