Vba récupérer commandbars

sifusalade Messages postés 142 Statut Membre -  
sifusalade Messages postés 142 Statut Membre -
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. Frenchie83 Messages postés 2254 Statut Membre 339
     
    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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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. Frenchie83 Messages postés 2254 Statut Membre 339
       
      Bonjour et merci pour l'info

      bien cordialement
      0
  2. sifusalade
     
    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
  3. Frenchie83 Messages postés 2254 Statut Membre 339
     
    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
  4. sifusalade Messages postés 142 Statut Membre 7
     
    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