VBA Récupérer le nom du format de contrôle

FAB80170

XLDnaute Junior
Bonsoir,

j'ai une série de 25 boutons (format de contrôle), dont le nom est à chaque fois différent.

Je souhaiterais qu'au clic de chaque bouton, le nom de ce dernier s'écrive dans la cellule M13. (Un copier coller du nom du bouton).

Je souhaiterais si possible, regrouper les macros individuelles dans un seul code.

Par avance Merci pour votre aide.
 

Pièces jointes

  • VBA Récupérer le nom du format de contrôle.xlsx
    23.3 KB · Affichages: 23

FAB80170

XLDnaute Junior
... j'affecte à chacun des boutons = Cells(14, 2) = "Nom bouton"
la même macro = shp.OnAction = "test"
en changeant le "nom bouton" = Cells(14, 3) = "Nom Bouton Modifié"

' j'ai pas fait mais
et le "nom de la macro" = shp.OnAction = "test" (ici remplacer "test") par un autre nom de macro au choix

Nota : Sub test() c'est shp.OnAction = "test"

VB:
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

Laurent

Youpi, j'ai compris !!! Çà fonctionne parfaitement !!!
Un très grand Merci Laurent pour ton efficacité et surtout ta patience ...
Excellente journée !
 

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 502
Membres
103 564
dernier inscrit
Paul 1