Macro renommer bouton avec nom variable

Résolu
volfoss Messages postés 43 Statut Membre -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
    1. volfoss Messages postés 43 Statut Membre 3
       
      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
      1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744 > volfoss Messages postés 43 Statut Membre
         
        Bonjour,

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