Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Barre de Menu personnalisée

  • Initiateur de la discussion Initiateur de la discussion CdG06
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

CdG06

Guest
Bonjour à tout le forum,

Quand j'ouvre un classeur(1), une barre de menu personnelle s'installe. Si j'ouvre un autre classeur(2), comprenant la même barre de menu personnelle, alors il y a plantage.

Je comprend bien, qu'Excel n'apprécie guère qu'on lui demande de faire deux fois la même chose🙄

Dès lors, quel test dois-je faire (pour vérifier si la barre de menu existe déja, quelque soit le classeur ouvert en premier?

Ci après le bout de code de création :

Merci de votre précieuse aide et bonne journée.

____________________________________________

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Créat_barre.supr_barre

End Sub

Private Sub Workbook_Open()
Call Créat_barre.création_barre
Dim FlagClassement As Boolean
Dim Compteur As Integer
FlagClassement = True
Do While FlagClassement = True
FlagClassement = False

Loop

End Sub
 
Re : Barre de Menu personnalisée

Bonjour,

Si la barre est lié au classeur, regarde du coté des évènements "Workbook_Activate" et "Workbook_Deactivate" pour chaque classeur afin de cacher/afficher la barre d'outils correspondante.

Hervé.
 
Re : Barre de Menu personnalisée

Bonjour Theze,

Merci de ta réponse. En fait beaucoup de classeurs utilise la même macro de création de barre de menu. Rarement, j'ouvre 2 classeurs en même temps. Donc je n'ai jamais eu de soucis. Mais quand j'ai besoin que 2 ou 3 classeurs soients ouverts avec cette barre, la ca se gatte...... Et je ne vois pas comment empecher l'activation si un classeur l'a déjà activé.
 
Re : Barre de Menu personnalisée

Re,

Dans ce cas, il te faut tester si ta barre existe à l'ouverture du classeur. Le seul problème, c'est que tu ne peux pas fermer un des classeurs car sinon, la barre sera détruite par "Call Créat_barre.supr_barre" même si un autre classeur utilisant cette barre est encore ouvert.
Pour tester si la barre existe :
Code:
Sub Erreur()

    Dim Barre As CommandBar
    
    'évite le plantage de la barre qui n'existe pas
    On Error Resume Next
    
    Set Barre = Application.CommandBars("Ma barre")
    
    'indique si la barre existe ou non
    If Err.Number = 0 Then
        MsgBox "la barre existe"
    Else
        MsgBox "la barre n'existe pas"
    End If
    
    'plus d'erreur en mémoire
    Err.Clear
    
    'arrête le gestionnaire d'erreur
    On Error GoTo 0

End Sub

Hervé.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…