Vba récupérer commandbars

Bonjour,

Je voudrais récupérer les commandars à l'ouverture (barres affichées, positions etc) pour les remplacer par d'autres.

À la fermeture du fichier, mes nouvelles commandars se supprime pour remettre comme c'était avant.

Comment puis-je m'y prendre svp ?

Je suis sous excel 2003.
En vous remerciant

4 réponses

  1. bonjour

    voici 2 macros, l'une pour créer une nouvelle barre d'outils et en y incorporant les éléments de ton choix, la deuxième pour la supprimer quand tu quittes ton fichier
    Sub AfficherBoiteOutils()
        Toolbars.Add Name:="Barre d'outils 1"
        With Toolbars("Barre d'outils 1")
            .Visible = True
            .Position = xlTop
            .Left = 390
            .Top = 1
        End With
        Toolbars("Barre d'outils 1").ToolbarButtons.Add Button:=19, Before:=1
        Toolbars("Barre d'outils 1").ToolbarButtons.Add Button:=21, Before:=1
        Toolbars("Barre d'outils 1").ToolbarButtons.Add Button:=128, Before:=1
        Toolbars("Barre d'outils 1").ToolbarButtons.Add Button:=210, Before:=1
    End Sub
    
    Sub SupprimerBoiteOutils()
        Toolbars("Barre d'outils 1").Delete
    End Sub
    


    dans cet exemple, je ne rajoute qu'une barre d'outils, mais rien empêche dans rajouter d'autres. dans la barre d'outils j'y ajoute des boutons, ils sont numéroter par excel. la difficulté est de connaître leurs numéros respectifs. Le plus simple est de le faire une fois manuellement tout en enregistrant une macro, puis de récupérer les numéros trouvés.

    cdlt
    0
    1. Contributeur
      Bonjour,

      Pour connaitre le numéro (id) des boutons pour office2003 ou office 2007 (excel, access, powerpoint, outlook....)

      télécharger à partir de l'URL (anglophone)
      http://www.microsoft.com/en-us/download/details.aspx?id=3582
      0
    2. Bonjour et merci pour l'info

      bien cordialement
      0
  2. Bonjour,

    Merci pour ces infos. J'ai oublié de préciser quelque chose d'important. Ce fichier sera partagé. Le but est donc que ça ne dérègle leur paramètres que pour ce fichier. À la sélection d'autre fichier et à la fermeture excel se remet comme avant.

    C'est pour cela que j'ai besoin de les récupérer à l'ouverture. Car chacun dispose son excel 2003 comme il l'entends.

    En vous remerciant.
    0
    1. Re bonjour

      Normalement, il n'y a pas de problème, puisque c'est ce fichier qui crée la barre d'outils et c'est le même fichier qui la supprime quand on le ferme. Toutefois, peut-être l'a tu déjà fais, mais il faut renommer les macros:
      la première la nommer Sub Auto_Open
      et l'autre Sub Auto_close

      De plus, j'ai rajouter , dans chaque macro une ligne de sortie dans le cas ou l'on aurait supprimé volontairement la barre d'outils avant la fermeture, ou bien, si l'on tentait d' ouvrir le fichier alors qu'il serait déjà ouvert. dans les 2 cas on sort du programme.

      Je t'invite à faire plusieurs manip au cas où j'aurai oublié quelque chose

      Sub Auto_open()
          On Error GoTo sortie
          Toolbars.Add Name:="Barre d'outils 1"
          With Toolbars("Barre d'outils 1")
              .Visible = True
              .Position = xlTop
              .Left = 390
              .Top = 1
          End With
          Toolbars("Barre d'outils 1").ToolbarButtons.Add Button:=19, Before:=1
          Toolbars("Barre d'outils 1").ToolbarButtons.Add Button:=21, Before:=1
          Toolbars("Barre d'outils 1").ToolbarButtons.Add Button:=128, Before:=1
          Toolbars("Barre d'outils 1").ToolbarButtons.Add Button:=210, Before:=1
      sortie:
      End Sub
      
      Sub Auto_close()
          On Error GoTo sortie
          Toolbars("Barre d'outils 1").Delete
          
      sortie:
      End Sub
      


      cordialement
      0
      1. Bonjour,

        mes profondes excuses pour cette réponse très tardive.

        Cela marche sous un excel 2003. Certains de mes collègues sont passés sous un pack Office 2010...

        Avant de faire le test sous 2010, vous savez si cela va fonctionner ? J'ai de très gros doutes car 2010 ne semble pas architecturé de la même manière...
        0