Vba récupérer commandbars

Fermé
sifusalade Messages postés 134 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 - 3 mai 2013 à 09:55
sifusalade Messages postés 134 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 - 22 févr. 2014 à 12:59
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

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
9 mai 2013 à 08:49
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
Modifié par michel_m le 9/05/2013 à 11:46
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
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
9 mai 2013 à 11:54
Bonjour et merci pour l'info

bien cordialement
0
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
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
9 mai 2013 à 13:16
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
sifusalade Messages postés 134 Date d'inscription samedi 21 janvier 2012 Statut Membre Dernière intervention 16 juillet 2021 7
22 févr. 2014 à 12:59
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