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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <Sunburn@discussions.microsoft.com> a écrit dans le message de
news: 5F406DDF-9432-4BD8-85FC-C265EE88CBF0@microsoft.com...
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
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
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
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
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
Sunburn
euh, c'est encore moi : je n'ai pas trouvé pour supprimer mon menu à la sortie d'excel. merci. yann
euh, c'est encore moi : je n'ai pas trouvé pour supprimer mon menu à la
sortie d'excel.
merci.
yann