Macro renommer bouton avec nom variable

Résolu/Fermé
volfoss Messages postés 30 Date d'inscription jeudi 21 juillet 2016 Statut Membre Dernière intervention 22 décembre 2020 - Modifié par volfoss le 21/07/2016 à 16:52
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 22 juil. 2016 à 18:06
Bonjour,
pour les besoins d'un programme j'ai créer un bouton qui lance une macro pour créer des autres boutons afin d'ouvrir différents fichiers.
1) J'aimerais renommer à partir d'une macro ce nouveau bouton en fonction d'une cellule dont le nom est variable (ce serait l'année) et qui est placé en I 31 ?
2) est- il possible de déterminer dans la macro l'emplacement du nouveau bouton créer (par exemple en E 30 ?
Merci pour votre aide.

1 réponse

gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 647
21 juil. 2016 à 22:31
Bonjour,

Bienvenue sur le forum

Tu peux le faire avec ce type de macro :
    ActiveSheet.Buttons.Add([E30].Left, [E30].Top, [E30].Width, [E30].Height).Select
    Selection.Characters.Text = [I31].Value
    Selection.OnAction = "Macro ?"
En remplaçant "Macro ?" par ton nom de macro que tu veux lancer avec ton bouton.
2
volfoss Messages postés 30 Date d'inscription jeudi 21 juillet 2016 Statut Membre Dernière intervention 22 décembre 2020
22 juil. 2016 à 17:22
Merci ta macro fonctionne parfaitement. Mon soucis est que je dois affecter par la suite la macro à exécuter par le bouton crée car je fait plusieurs actions en même temps que sa création.
Je voudrais que le bouton fasse :
Sheets("2017").Visible = True
Sheets("2017").Select
Range("B2:F2").Select
Est-ce réalisable en une seul macro ?

Mon code actuel :

Sub EnregtistrerFichierBagues()

Sheets("Bagues").Visible = True
Sheets("Bagues").Select
ActiveSheet.Buttons.Add([E10].Left, [E10].Top, [E10].Width, [E10].Height).Select
Selection.ShapeRange.LockAspectRatio = msoFalse
Selection.ShapeRange.Height = 28.5
Selection.ShapeRange.Width = 57#
Selection.Characters.Text = [I31].Value
Selection.OnAction = "'Gestion élevage.xls'!Bagues2017"

J'aimerais réaliser ici la macro lancer par le nouveau bouton (bagues2017) créer juste au-dessus.

Sheets("2017").Visible = True
Sheets("2017").Select
Range("B2:F2").Select



Sheets("Création bagues").Visible = True
Sheets("Création bagues").Select


' copie et renomme l'onglet avec l'année d'élevage

Sheets("Création bagues").Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Sheets("Création bagues").Range("B2")
ActiveSheet.Visible = True

Sheets("Création bagues").Visible = False
Sheets("2017").Visible = False

End Sub
0
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 647 > volfoss Messages postés 30 Date d'inscription jeudi 21 juillet 2016 Statut Membre Dernière intervention 22 décembre 2020
22 juil. 2016 à 18:06
Bonjour,

Tu enregistres ta macro et tu mets son nom 'EnregtistrerFichierBagues' dans la ligne 'OnAction' comme je te l'ai écrit
0