OVH Cloud OVH Cloud

Barre outils

8 réponses
Avatar
Catherine
Rebonjour,

J'ai créé une barre outils personnalisée, mais comment faire pour qu'elle ne
s'execute que pour ce classeur mais pas pour les autres. Si possible, je
souhaiterais que les autres classeurs soient avec les barres outils par
défaut d'Excel.

Merci d'avance

8 réponses

Avatar
Denis Michon
Bonjour Catherine,


Est-ce que ta barre d'outils personnalisé a été créé avec du code ou tu as utilisé la fenêtre "Personnaliser" pour la créer ?


Salutations!



"Catherine" a écrit dans le message de news:
Rebonjour,

J'ai créé une barre outils personnalisée, mais comment faire pour qu'elle ne
s'execute que pour ce classeur mais pas pour les autres. Si possible, je
souhaiterais que les autres classeurs soient avec les barres outils par
défaut d'Excel.

Merci d'avance
Avatar
Denis Michon
Bonjour Catherine,


Si ta barre d'outils est une barre attachée au fichier, ceci pourrait être suffisant :

à copier dans le ThisWorkbook de ton classeur :

'-------------------
Private Sub Workbook_Open()
Application.CommandBars("NomDeMaBarreOutils").Visible = True
End Sub
'-------------------
Private Sub Workbook_Activate()
Application.CommandBars("NomDeMaBarreOutils").Visible = True
End Sub
'-------------------
Private Sub Workbook_Deactivate()
Application.CommandBars("NomDeMaBarreOutils").Visible = False
End Sub
'-------------------

Si ta barre a été créé avec du code , en plus d'inclure dans un module standard, la procédure de création de ta barre ,
toujours dans le ThisWorkbook , tu pourrais avoir quelque chose du genre :

'-------------------
Private Sub Workbook_Open()

On error resume next
Application.CommandBars("NomDeMaBarreOutils").Delete
AppelProcédureDeCréationDeLaBarreDoutils
End Sub

'-------------------
Private Sub Workbook_Activate()
AppelProcédureDeCréationDeLaBarreDoutils
End Sub
'-------------------
Private Sub Workbook_Deactivate()
On error resume next
Application.CommandBars("NomDeMaBarreOutils").Delete
End Sub
'-------------------


Salutations!



"Catherine" a écrit dans le message de news:
Rebonjour,

J'ai créé une barre outils personnalisée, mais comment faire pour qu'elle ne
s'execute que pour ce classeur mais pas pour les autres. Si possible, je
souhaiterais que les autres classeurs soient avec les barres outils par
défaut d'Excel.

Merci d'avance
Avatar
Maxence HUBICHE
Bonjour,

3 solutions :

1- Si ta barre d'outils est créée via l'interface
utilisateur d'Excel :
Application.commandBars
("LeNomDeTaBarre").visible=True/False

Sur l'évènement Open de ThisWorkbook, tu mets True
Sur l'évènement BeforeClose, tu mets False


2- Si tu crées la barre d'outils en VBA
Crées-la à l'ouverture du classeur, et détruis-la à la
sortie

3- Si tu as créé la barre depuis l'interface, mais que tu
l'aies associée à ton classeur
Sur l'évènement BeforeClose, tu détruits
Application.CommandBars("NomDeTaBarre")

Cordialement.

Maxence HUBICHE
(retirer nospam_)
Développeur/Formateur Indépendant
Avatar
sabatier
manquerait pas un chtiot bout, maxence, dans le cas n° 3?
jps

Maxence HUBICHE wrote:

Bonjour,

3 solutions :

1- Si ta barre d'outils est créée via l'interface
utilisateur d'Excel :
Application.commandBars
("LeNomDeTaBarre").visible=True/False

Sur l'évènement Open de ThisWorkbook, tu mets True
Sur l'évènement BeforeClose, tu mets False

2- Si tu crées la barre d'outils en VBA
Crées-la à l'ouverture du classeur, et détruis-la à la
sortie

3- Si tu as créé la barre depuis l'interface, mais que tu
l'aies associée à ton classeur
Sur l'évènement BeforeClose, tu détruits
Application.CommandBars("NomDeTaBarre")

Cordialement.

Maxence HUBICHE
(retirer nospam_)
Développeur/Formateur Indépendant


Avatar
FxM
Tiens, un revenant. Ca y est, tu as fini de tremper ?

@+
FxM



sabatier wrote:
manquerait pas un chtiot bout, maxence, dans le cas n° 3?
jps

Maxence HUBICHE wrote:


Bonjour,

3 solutions :

1- Si ta barre d'outils est créée via l'interface
utilisateur d'Excel :
Application.commandBars
("LeNomDeTaBarre").visible=True/False

Sur l'évènement Open de ThisWorkbook, tu mets True
Sur l'évènement BeforeClose, tu mets False

2- Si tu crées la barre d'outils en VBA
Crées-la à l'ouverture du classeur, et détruis-la à la
sortie

3- Si tu as créé la barre depuis l'interface, mais que tu
l'aies associée à ton classeur
Sur l'évènement BeforeClose, tu détruits
Application.CommandBars("NomDeTaBarre")

Cordialement.

Maxence HUBICHE
(retirer nospam_)
Développeur/Formateur Indépendant






Avatar
sabatier
parle pas de choses qui fâchent, françois-xavier...
jps

FxM wrote:

Tiens, un revenant. Ca y est, tu as fini de tremper ?

@+
FxM

sabatier wrote:
manquerait pas un chtiot bout, maxence, dans le cas n° 3?
jps

Maxence HUBICHE wrote:


Bonjour,

3 solutions :

1- Si ta barre d'outils est créée via l'interface
utilisateur d'Excel :
Application.commandBars
("LeNomDeTaBarre").visible=True/False

Sur l'évènement Open de ThisWorkbook, tu mets True
Sur l'évènement BeforeClose, tu mets False

2- Si tu crées la barre d'outils en VBA
Crées-la à l'ouverture du classeur, et détruis-la à la
sortie

3- Si tu as créé la barre depuis l'interface, mais que tu
l'aies associée à ton classeur
Sur l'évènement BeforeClose, tu détruits
Application.CommandBars("NomDeTaBarre")

Cordialement.

Maxence HUBICHE
(retirer nospam_)
Développeur/Formateur Indépendant








Avatar
manquerait pas un chtiot bout, maxence, dans le cas n°
3?


Boaheu ... nan ! :)
J'ai dis de détruire l'Application.CommandBars
("Nomdelabarre"), dans le but d'éviter de détruire la
ThisWorkBook.CommandBars("Nomdelabarre"), pas dans le but
de fournir du code ...

Mais si c'est le code qu'il fallait mettre, j'aurais mis
un truc du genre :
Application.ComandBars("NomDeLaBarre").Delete

;)

Maxence HUBICHE
(retirer nospam_)
Développeur/Formateur Indépendant


Avatar
gee-dee-
:-((
tu exagères FxM, c'est vrai ça !!!
pour JPS mettre de l'eau dans son vin, c'est pour le moins : "SACRILEGE"

si l'on pouvait le concevoir à propos de MPFE, cela n'est pas sympathique
pour ceux qui ont subi les dernières intempéries....

Modeste mais qui aime bien aussi mettre de l'huile sur le feu !!!!
;-)))