Gestion barre perso

nak

XLDnaute Occasionnel
Bonjour à tous,

Voila j'utilise une barre d'outil avec des boutons personnalisés. Tout fonctionne à merveille :)
Sauf qu'il m'arrive d'ouvrir deux fichiers voir plus qui contiennent cette macro. Résultat la barre perso est créée une deuxième fois et la erreur.

Voici le code :
Private Sub Workbook_Open()
Dim CmdBar As CommandBar
Dim Bouton As CommandBarButton

Set CmdBar = Application.CommandBars _
.Add(Name:="MaBarrePerso", Position:=msoBarTop, Temporary:=True)

Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
With Bouton
.FaceId = 191
.OnAction = "Démarrage"
End With

Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
With Bouton
.FaceId = 3873
.OnAction = "pagedegarde"
End With

CmdBar.Visible = True

End Sub

Pour résoudre mon problème il faudrait juste vérifier si la barre n'est pas déjà activé...
Mais impossible de trouver la bonne commande
J'ai essayé
CommandBars("MaBarrePerso").Enabled = False
mais cela ne fonctionne pas :(

Une autre idée ?

Merci
 

MJ13

XLDnaute Barbatruc
Re : Gestion barre perso

Re

Sinon, si vraiment tu veux le mettre à l'ouverture:

Code:
Private Sub Workbook_Open()
Dim CmdBar As CommandBar
Dim Bouton As CommandBarButton
 
On Error Resume Next
  CommandBars("MaBarrePerso").Delete
 
Set CmdBar = Application.CommandBars _
.Add(Name:="MaBarrePerso", Position:=msoBarTop, Temporary:=True)
 
Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
With Bouton
.FaceId = 191
.OnAction = "Démarrage"
End With
 
Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
With Bouton
.FaceId = 3873
.OnAction = "pagedegarde"
End With
 
CmdBar.Visible = True
 
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 185
dernier inscrit
Laurent.