bonjour,
je cherche un exemple de code VBA (Excel97) pour ajouter un menu
personnalisé qui
déroulera 2 lignes de sous-menus qui lanceront chacun une macro differente.
Ce menu spécialisé ne doit être attaché qu'à un seul fichier Excel.
(il ne doit pas apparaitre à l'ouverture d'un nouveau classeur par exemple).
En fait le problème c'est seulement les sous-menus
pour le menu Titre le code:
Set MonMenu = Application.CommandBars("Worksheet Menu
Bar").Controls.Add(Type:= _
msoControlPopup, Before:=11, temporary:=True)
MonMenu.Caption = "Le Nouveau Menu"
dans Workbook_open() marche bien. Comment ajouter "sous-menu1" et
"sous-menu2"
a ce menu "Le Nouveau Menu".
-----Message d'origine----- bonjour, je cherche un exemple de code VBA (Excel97) pour ajouter un menu
personnalisé qui déroulera 2 lignes de sous-menus qui lanceront chacun une macro differente.
Ce menu spécialisé ne doit être attaché qu'à un seul fichier Excel.
(il ne doit pas apparaitre à l'ouverture d'un nouveau classeur par exemple).
En fait le problème c'est seulement les sous-menus pour le menu Titre le code:
Set MonMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:= _ msoControlPopup, Before:, temporary:=True) MonMenu.Caption = "Le Nouveau Menu"
dans Workbook_open() marche bien. Comment ajouter "sous- menu1" et
-----Message d'origine-----
bonjour,
je cherche un exemple de code VBA (Excel97) pour ajouter
un menu
personnalisé qui
déroulera 2 lignes de sous-menus qui lanceront chacun une
macro differente.
Ce menu spécialisé ne doit être attaché qu'à un seul
fichier Excel.
(il ne doit pas apparaitre à l'ouverture d'un nouveau
classeur par exemple).
En fait le problème c'est seulement les sous-menus
pour le menu Titre le code:
Set MonMenu = Application.CommandBars("Worksheet Menu
Bar").Controls.Add(Type:= _
msoControlPopup, Before:=11, temporary:=True)
MonMenu.Caption = "Le Nouveau Menu"
dans Workbook_open() marche bien. Comment ajouter "sous-
menu1" et
-----Message d'origine----- bonjour, je cherche un exemple de code VBA (Excel97) pour ajouter un menu
personnalisé qui déroulera 2 lignes de sous-menus qui lanceront chacun une macro differente.
Ce menu spécialisé ne doit être attaché qu'à un seul fichier Excel.
(il ne doit pas apparaitre à l'ouverture d'un nouveau classeur par exemple).
En fait le problème c'est seulement les sous-menus pour le menu Titre le code:
Set MonMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:= _ msoControlPopup, Before:, temporary:=True) MonMenu.Caption = "Le Nouveau Menu"
dans Workbook_open() marche bien. Comment ajouter "sous- menu1" et
"sous-menu2" a ce menu "Le Nouveau Menu".
merci d'avance
.
papou
Bonjour Chris Autre exemple (adapté à tes noms de menu) avec deux procédures : CreerMonMenu que tu lances soit dans l'évènement WorkBook_Open, soit dans l'évènement WorkBook_Activate VirerMonMenu que tu lances dans l'évènement WorkBook_BeforeClose ou WorkBook_Deactivate Le choix de l'évènement est fonction de l'intérêt de la présence de ton menu si un autre classeur est ouvert. Cordialement Pascal
Sub CreerMonMenu() Set MonMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:= _ msoControlPopup, Before:, temporary:=True) MonMenu.Caption = "Le Nouveau Menu" Set SousMenu1 = MonMenu.Controls.Add(msoControbutton, 1, , , True) With SousMenu1 .Caption = "Sous-Menu1" .OnAction = "Macro Sous-Menu1" End With Set SousMenu2 = MonMenu.Controls.Add(msoControlButton, 1, , , True) With SousMenu2 .Caption = "Sous-Menu2" .OnAction = "Macro Sous-Menu2" End With End Sub Sub VirerMonMenu() For Each ctr In Application.CommandBars(1).Controls If Not ctr.BuiltIn And ctr.Caption = "Le Nouveau Menu" Then ctr.Delete End If Next End Sub
"chris.col" a écrit dans le message de news:3fa7b8c6$0$13286$
bonjour, je cherche un exemple de code VBA (Excel97) pour ajouter un menu personnalisé qui déroulera 2 lignes de sous-menus qui lanceront chacun une macro differente.
Ce menu spécialisé ne doit être attaché qu'à un seul fichier Excel. (il ne doit pas apparaitre à l'ouverture d'un nouveau classeur par exemple).
En fait le problème c'est seulement les sous-menus pour le menu Titre le code:
Set MonMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:= _ msoControlPopup, Before:, temporary:=True) MonMenu.Caption = "Le Nouveau Menu"
dans Workbook_open() marche bien. Comment ajouter "sous-menu1" et "sous-menu2" a ce menu "Le Nouveau Menu".
merci d'avance
Bonjour Chris
Autre exemple (adapté à tes noms de menu) avec deux procédures :
CreerMonMenu que tu lances soit dans l'évènement WorkBook_Open, soit dans
l'évènement WorkBook_Activate
VirerMonMenu que tu lances dans l'évènement WorkBook_BeforeClose ou
WorkBook_Deactivate
Le choix de l'évènement est fonction de l'intérêt de la présence de ton menu
si un autre classeur est ouvert.
Cordialement
Pascal
Sub CreerMonMenu()
Set MonMenu = Application.CommandBars("Worksheet Menu
Bar").Controls.Add(Type:= _
msoControlPopup, Before:, temporary:=True)
MonMenu.Caption = "Le Nouveau Menu"
Set SousMenu1 = MonMenu.Controls.Add(msoControbutton, 1, , , True)
With SousMenu1
.Caption = "Sous-Menu1"
.OnAction = "Macro Sous-Menu1"
End With
Set SousMenu2 = MonMenu.Controls.Add(msoControlButton, 1, , , True)
With SousMenu2
.Caption = "Sous-Menu2"
.OnAction = "Macro Sous-Menu2"
End With
End Sub
Sub VirerMonMenu()
For Each ctr In Application.CommandBars(1).Controls
If Not ctr.BuiltIn And ctr.Caption = "Le Nouveau Menu" Then
ctr.Delete
End If
Next
End Sub
"chris.col" <chris.col@free.fr> a écrit dans le message de
news:3fa7b8c6$0$13286$626a54ce@news.free.fr...
bonjour,
je cherche un exemple de code VBA (Excel97) pour ajouter un menu
personnalisé qui
déroulera 2 lignes de sous-menus qui lanceront chacun une macro
differente.
Ce menu spécialisé ne doit être attaché qu'à un seul fichier Excel.
(il ne doit pas apparaitre à l'ouverture d'un nouveau classeur par
exemple).
En fait le problème c'est seulement les sous-menus
pour le menu Titre le code:
Set MonMenu = Application.CommandBars("Worksheet Menu
Bar").Controls.Add(Type:= _
msoControlPopup, Before:, temporary:=True)
MonMenu.Caption = "Le Nouveau Menu"
dans Workbook_open() marche bien. Comment ajouter "sous-menu1" et
"sous-menu2"
a ce menu "Le Nouveau Menu".
Bonjour Chris Autre exemple (adapté à tes noms de menu) avec deux procédures : CreerMonMenu que tu lances soit dans l'évènement WorkBook_Open, soit dans l'évènement WorkBook_Activate VirerMonMenu que tu lances dans l'évènement WorkBook_BeforeClose ou WorkBook_Deactivate Le choix de l'évènement est fonction de l'intérêt de la présence de ton menu si un autre classeur est ouvert. Cordialement Pascal
Sub CreerMonMenu() Set MonMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:= _ msoControlPopup, Before:, temporary:=True) MonMenu.Caption = "Le Nouveau Menu" Set SousMenu1 = MonMenu.Controls.Add(msoControbutton, 1, , , True) With SousMenu1 .Caption = "Sous-Menu1" .OnAction = "Macro Sous-Menu1" End With Set SousMenu2 = MonMenu.Controls.Add(msoControlButton, 1, , , True) With SousMenu2 .Caption = "Sous-Menu2" .OnAction = "Macro Sous-Menu2" End With End Sub Sub VirerMonMenu() For Each ctr In Application.CommandBars(1).Controls If Not ctr.BuiltIn And ctr.Caption = "Le Nouveau Menu" Then ctr.Delete End If Next End Sub
"chris.col" a écrit dans le message de news:3fa7b8c6$0$13286$
bonjour, je cherche un exemple de code VBA (Excel97) pour ajouter un menu personnalisé qui déroulera 2 lignes de sous-menus qui lanceront chacun une macro differente.
Ce menu spécialisé ne doit être attaché qu'à un seul fichier Excel. (il ne doit pas apparaitre à l'ouverture d'un nouveau classeur par exemple).
En fait le problème c'est seulement les sous-menus pour le menu Titre le code:
Set MonMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:= _ msoControlPopup, Before:, temporary:=True) MonMenu.Caption = "Le Nouveau Menu"
dans Workbook_open() marche bien. Comment ajouter "sous-menu1" et "sous-menu2" a ce menu "Le Nouveau Menu".