Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Menu personalisé

1 réponse
Avatar
Ced
Bonjour, j'ai créé un menu personalisé avec :

Sub MenuGrilleBase()

On Error Resume Next
Set BG = Application.CommandBars(1).Controls.Add(msoControlPopup, , , , True)
With BG
.Caption = "Projet"
End With

etc ...
end sub

Ca marche bien.

Je lance ca à l'ouverture du classeur :

Private Sub Workbook_Open()

On Error Resume Next
Application.CommandBars(1).Controls("Projet").Delete

Call MenuGrilleBase

End Sub

Bon, le problème, c'est quand j'ouvre plusieurs classeurs, ca me met autant
de menu "Projet" que de classeur ouvert.
Bon, j'ai fini par faire ca :
On Error Resume Next
Application.CommandBars(1).Controls("Projet").Delete

mais c'est pas académique je trouve. Ca marche, mais j'ai peur que ca
finisse par planter un moment donné.
Y a pas moyen de faire un test s'il n'y a pas un menu "Projet" déja
existant. si Oui, alors, je lance pas la création d'un nouveau menu.

Merci de vos réponses.

--
ced

1 réponse

Avatar
isabelle
bonjour Ced,

Sub MenuGrilleBase()
On Error Resume Next
If IsError(Application.CommandBars("Projet")) Then
Set BG = Application.CommandBars(1).Controls.Add(msoControlPopup, , , , True)
With BG
.Caption = "Projet"
End With
End If
End sub

isabelle

Ced a écrit :
Bonjour, j'ai créé un menu personalisé avec :

Sub MenuGrilleBase()

On Error Resume Next
Set BG = Application.CommandBars(1).Controls.Add(msoControlPopup, , , , True)
With BG
.Caption = "Projet"
End With

etc ...
end sub

Ca marche bien.

Je lance ca à l'ouverture du classeur :

Private Sub Workbook_Open()

On Error Resume Next
Application.CommandBars(1).Controls("Projet").Delete

Call MenuGrilleBase

End Sub

Bon, le problème, c'est quand j'ouvre plusieurs classeurs, ca me met autant
de menu "Projet" que de classeur ouvert.
Bon, j'ai fini par faire ca :
On Error Resume Next
Application.CommandBars(1).Controls("Projet").Delete

mais c'est pas académique je trouve. Ca marche, mais j'ai peur que ca
finisse par planter un moment donné.
Y a pas moyen de faire un test s'il n'y a pas un menu "Projet" déja
existant. si Oui, alors, je lance pas la création d'un nouveau menu.

Merci de vos réponses.