Référence à un bouton dans un code VBA

Bonjour,

Tout d’abord ma question : Est-il possible de modifier le nom d’un bouton mis en place automatiquement par une macro afin d’y faire référence sans problème dans un autre code ?

Voici effectivement mon souci : dans le premier fichier ci-joint, j’ai placé un code qui permet de montrer quelques lignes cachées (ici, les lignes 15 et 16) - dans lesquelles est préparée une démo - et de déjà placer un bouton afin de refermer ces lignes. Je vous présente un deuxième fichier à ce stade, avec des copies d'écran de la situation sur mon PC.

Afin de pouvoir supprimer le bouton « Cacher la démo » si l’on clique sur celui-ci, je fais référence au nom que lui a donné Excel ; comme je travaille en allemand, il s’appelle maintenant « Schaltfläche 4 », d’où le bout de code :

    ActiveSheet.Shapes("Schaltfläche 4").Select
    Selection.Delete

Mon problème vient du fait que si l’on lance une deuxième fois le code placé derrière le bouton « Démo », le nouveau bouton mis en place automatiquement ne s’appelle plus « Schaltfläche 4 », mais « Schaltfläche 5» et mon bout de compte indiqué ci-dessus ne fonctionne plus.

Pouvez-vous m’aider à résoudre ce problème ?

Bonnes salutations.

Bonjour,

Deux petits codes vite faits à essayer :

S

ub Montrer_démo()
Rows("15:16").RowHeight = 15
    With ActiveSheet
        .Buttons.Add(580, 390, 151.5, 77.25).Name = "cache"
        .Shapes("cache").OnAction = "Cacher_la_démo"
        .Shapes("cache").TextFrame.Characters.Text = "Cacher la démo"
    End With
    Range("B2").Select
End Sub

et

Sub Cacher_la_démo()
    ActiveSheet.Shapes("cache").Delete
    Rows("15:16").Hidden = True
    Range("B2").Select
End Sub

Amicalement

Salut Dan,

Ton code fonctionne parfaitement.

Merci infiniment pour ton aide, c'est super sympa.

Bonnes salutations.

Rechercher des sujets similaires à "reference bouton code vba"