Menu personnalisé se multiplie à l'ouverture

Cantalou

XLDnaute Nouveau
Bonjour,

Avec votre aide, j'ai créé une macro complémentaire qui crée un menu personalisé.
Code:
Sub AjoutMenu()
Dim LeMenu As CommandBarPopup
    With Application.CommandBars(1)
        Set LeMenu = .Controls.Add _
            (Type:=msoControlPopup)
    End With
    LeMenu.Caption = "Les macros perso"
    With LeMenu.Controls.Add(msoControlButton)
        .Caption = "Graph avec points nommés"
        .OnAction = "Points_Nommés"
    End With
    With LeMenu.Controls.Add(msoControlButton)
        .Caption = "Quitter les macros perso"
        .OnAction = "DelMenu"
    End With
    End Sub

Sub DelMenu()

    Application.CommandBars("Worksheet Menu Bar").Controls(11).Delete
End Sub

J'ai créé un appel à ces macros depuis "ThisWorkbook":
Code:
Private Sub Workbook_Open()
On Error Resume Next
Set Mybar = Application.CommandBars("Les macros perso")
 If Mybar Is Nothing Then
    AjoutMenu
 
End If


End Sub
  
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    DelMenu
End Sub

Le problème, c'est que si je ne décoche pas la macro complémentaire, à chaque nouvelle ouverture d'Excel, j'ai une duplication du menu personalisé.

Visiblement, mon test pour vérifier si barre perso existe ne fonctionne pas :mad:

merci d'avance du coup de main !
 

tototiti2008

XLDnaute Barbatruc
Re : Menu personnalisé se multiplie à l'ouverture

Bonjour Cantalou,

lorsque tu fais ton Add, tu peux préciser un Temporary := True qui signifie que le menu ne "survit" pas à la sortie d'Excel.
Ca évite de supprimer la barre à chaque sortie.
Tu te retrouveras avec plusieurs Menus seulement si tu décoches ta macro complémentaire et si tu la recoches...
 

Discussions similaires

Statistiques des forums

Discussions
312 780
Messages
2 092 048
Membres
105 169
dernier inscrit
izarabooki