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

Menu : supprimer, images, simplifier

3 réponses
Avatar
Sunburn
Bonjour, j'ai la macro suivante pour mon menu.
1)je voudrais le supprimer à la fermeture d'Excel, que mettre dans mon
"Private Sub Workbook_BeforeClose(Cancel As Boolean)"?
2)je voudrais insérer des images à côté des choix, comment faire?
3)afin de simplifier la visibilité, je voudrais supprimer des menus comme
"insertion","outils","données" et "fenêtre". comment faire?

Merci pour votre aide précieuse.
yann
*****
Sub CreateCacMenu()
Dim CacMenu As CommandBarPopup
On Error Resume Next
With Application.CommandBars(1)
Set CacMenu = .Controls.Add(Type:=msoControlPopup, before:=.Controls.Count -
1)
End With
CacMenu.Caption = "Menu CAC"
'Creation des sous-menus
With CacMenu.Controls.Add(msoControlButton)
.Caption = "Valider la Partie C"
.OnAction = "VALID"
End With
With CacMenu.Controls.Add(msoControlButton)
.Caption = "Invalider la Partie C"
.OnAction = "INVALID"
End With
With CacMenu.Controls.Add(msoControlButton)
.Caption = "Vérrouiller le dossier"
.OnAction = "PROTEGER"
End With
With CacMenu.Controls.Add(msoControlButton)
.Caption = "Dévérouiller le dossier"
.OnAction = "DEPROTEGER"
End With
End Sub

3 réponses

Avatar
papou
Bonjour

Pour la suppression appelle la macro DeleteCacMenu dans l'évènement
BeforeClose :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
DeleteCacMenu
End Sub

Sub DeleteCacMenu()
Application.CommandBars.FindControl(Tag:="Sunburn").Delete
End Sub

Pour que la macro DeleteCacMenu fonctionne il te faut modifier ta macro
CreateCacMenu.
Je te suggère donc cette modification qui intègre également la msie en place
des FaceId.
(attention cependant, j'ai choisi totalement au hasard les FaceID)

Sub CreateCacMenu()
Dim CacMenu As CommandBarPopup
Dim CacMenuOptionA As CommandBarControl
Dim CacMenuOptionB As CommandBarControl
Dim CacMenuOptionC As CommandBarControl
Dim CacMenuOptionD As CommandBarControl
On Error Resume Next
DeleteCacMenu
With Application.CommandBars(1)
Set CacMenu = .Controls.Add(Type:=msoControlPopup, before:=.Controls.Count -
1)
End With
'Creation des sous-menus
With CacMenu
.Caption = "Menu CAC"
.Tag = "Sunburn"
End With

Set CacMenuOptionA = CacMenu.Controls.Add(msoControlButton, , , , True)
With CacMenuOptionA
.Caption = "Valider la Partie C"
.OnAction = "VALID"
.FaceId = 20
End With

Set CacMenuOptionB = CacMenu.Controls.Add(msoControlButton, , , , True)
With CacMenuOptionB
.Caption = "Invalider la Partie C"
.OnAction = "INVALID"
.FaceId = 21
End With

Set CacMenuOptionC = CacMenu.Controls.Add(msoControlButton, , , , True)
With CacMenuOptionC
.Caption = "Vérrouiller le dossier"
.OnAction = "PROTEGER"
.FaceId = 22
End With

Set CacMenuOptionD = CacMenu.Controls.Add(msoControlButton, , , , True)
With CacMenuOptionD
.Caption = "Dévérouiller le dossier"
.OnAction = "DEPROTEGER"
.FaceId = 23
End With
End Sub

Pour supprimer les menus tu peux t'inspirer de cette méthode :
With Application.CommandBars("Worksheet Menu Bar")
.Controls("Fichier").Delete (True)
.Controls("Edition").Delete (True)
.Controls("Affichage").Delete (True)
.Controls("Insertion").Delete (True)
.Controls("Format").Delete (True)
.Controls("Outils").Delete (True)
.Controls("Données").Delete (True)
.Controls("Fenêtre").Delete (True)
.Controls("?").Delete (True)
End With

Mais n'oublie pas de restaurer à la fermeture :
Application.CommandBars("Worksheet Menu Bar").Reset

Cordialement
Pascal


"Sunburn" a écrit dans le message de
news:
Bonjour, j'ai la macro suivante pour mon menu.
1)je voudrais le supprimer à la fermeture d'Excel, que mettre dans mon
"Private Sub Workbook_BeforeClose(Cancel As Boolean)"?
2)je voudrais insérer des images à côté des choix, comment faire?
3)afin de simplifier la visibilité, je voudrais supprimer des menus comme
"insertion","outils","données" et "fenêtre". comment faire?

Merci pour votre aide précieuse.
yann
*****
Sub CreateCacMenu()
Dim CacMenu As CommandBarPopup
On Error Resume Next
With Application.CommandBars(1)
Set CacMenu = .Controls.Add(Type:=msoControlPopup,
before:=.Controls.Count -
1)
End With
CacMenu.Caption = "Menu CAC"
'Creation des sous-menus
With CacMenu.Controls.Add(msoControlButton)
.Caption = "Valider la Partie C"
.OnAction = "VALID"
End With
With CacMenu.Controls.Add(msoControlButton)
.Caption = "Invalider la Partie C"
.OnAction = "INVALID"
End With
With CacMenu.Controls.Add(msoControlButton)
.Caption = "Vérrouiller le dossier"
.OnAction = "PROTEGER"
End With
With CacMenu.Controls.Add(msoControlButton)
.Caption = "Dévérouiller le dossier"
.OnAction = "DEPROTEGER"
End With
End Sub


Avatar
Sunburn
J'ai trouvé réponse à mes question sprécédentes, mais une autre m'est venue :
comment mettre le menu que je viens de créer en rouge et en gras?
je vous remercie.
yann
Avatar
Sunburn
euh, c'est encore moi : je n'ai pas trouvé pour supprimer mon menu à la
sortie d'excel.
merci.
yann