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

Menu dans barre de menu

4 réponses
Avatar
Setec Essarts
Bonjour,

j'ai créé sous VBA excel 2003 un menu contextuel qui s'affiche dans une ou
plusieurs pages, à la condition que la cellule sélectionnée soit dans une
plage définie.

Comment est-il possible d'afficher par ailleurs ce menu dans une barre de
menu que j'ai créée dans une autre Sub sans avoir à le recréer (c'est à dire
avec des AddItems successifs, sans rappeler la procédure de création du
menu)?

J'ai mis ça:
Set SDMenu =
Application.CommandBars("Récolement").Controls.Add(msoControlPopup,
_CommandBars("Sous-dossiers"))
Mais il me dit "Incompatibilité de type" :((( ça m'énerve

La barre récolement est celle que j'ai créée, Sous-dossiers étant le
menupopup (Objet Commandbar)

Merci

Vincent

4 réponses

Avatar
Pascal Engelmajer
Salut,
Peut-être en passant par un module de classe pour créer les deux instances
du menu ... ???
Un module de classe "popupEvent" par exemple:
la déclaration dans ce module WithEvents d'un menu popup ( Public
WithEvents pop As CommandBarPopup)
à voir ...
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Setec Essarts" a écrit dans le message de news:
3ffae9a5$0$28706$
Bonjour,

j'ai créé sous VBA excel 2003 un menu contextuel qui s'affiche dans une ou
plusieurs pages, à la condition que la cellule sélectionnée soit dans une
plage définie.

Comment est-il possible d'afficher par ailleurs ce menu dans une barre de
menu que j'ai créée dans une autre Sub sans avoir à le recréer (c'est à
dire

avec des AddItems successifs, sans rappeler la procédure de création du
menu)?

J'ai mis ça:
Set SDMenu > Application.CommandBars("Récolement").Controls.Add(msoControlPopup,
_CommandBars("Sous-dossiers"))
Mais il me dit "Incompatibilité de type" :((( ça m'énerve

La barre récolement est celle que j'ai créée, Sous-dossiers étant le
menupopup (Objet Commandbar)

Merci

Vincent





Avatar
Setec Essarts
Aïe, ça je sait pas bien faire...

"Setec Essarts" a écrit dans le message de news:
3ffae9a5$0$28706$
Bonjour,

j'ai créé sous VBA excel 2003 un menu contextuel qui s'affiche dans une ou
plusieurs pages, à la condition que la cellule sélectionnée soit dans une
plage définie.

Comment est-il possible d'afficher par ailleurs ce menu dans une barre de
menu que j'ai créée dans une autre Sub sans avoir à le recréer (c'est à
dire

avec des AddItems successifs, sans rappeler la procédure de création du
menu)?

J'ai mis ça:
Set SDMenu > Application.CommandBars("Récolement").Controls.Add(msoControlPopup,
_CommandBars("Sous-dossiers"))
Mais il me dit "Incompatibilité de type" :((( ça m'énerve

La barre récolement est celle que j'ai créée, Sous-dossiers étant le
menupopup (Objet Commandbar)

Merci

Vincent





Avatar
Pascal Engelmajer
Salut,
en fait ça ne change pas grand chose au problème... mon idée ne fait que le
déplacer...
alors qu'il faudrait le re-formuler... par exemple en créant une procédure
de construction du menu appellée de l'un ou l'autre des Sub...
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Setec Essarts" a écrit dans le message de news:
3ffbea6d$0$28712$
Aïe, ça je sait pas bien faire...

"Setec Essarts" a écrit dans le message de news:
3ffae9a5$0$28706$
Bonjour,

j'ai créé sous VBA excel 2003 un menu contextuel qui s'affiche dans une
ou


plusieurs pages, à la condition que la cellule sélectionnée soit dans
une


plage définie.

Comment est-il possible d'afficher par ailleurs ce menu dans une barre
de


menu que j'ai créée dans une autre Sub sans avoir à le recréer (c'est à
dire

avec des AddItems successifs, sans rappeler la procédure de création du
menu)?

J'ai mis ça:
Set SDMenu > > Application.CommandBars("Récolement").Controls.Add(msoControlPopup,
_CommandBars("Sous-dossiers"))
Mais il me dit "Incompatibilité de type" :((( ça m'énerve

La barre récolement est celle que j'ai créée, Sous-dossiers étant le
menupopup (Objet Commandbar)

Merci

Vincent









Avatar
Setec Essarts
En fait dans ma Sub createBar, je relance la sub createmenu?, avec la
méthode Add appliquée à l'objet bar que j'ai créé (ou instancié, j'ai du mal
à différencier les deux termes).

Je crois que je vais faire ça. Vive le copier/coller



"Pascal Engelmajer" a écrit dans le
message de news: #
Salut,
en fait ça ne change pas grand chose au problème... mon idée ne fait que
le

déplacer...
alors qu'il faudrait le re-formuler... par exemple en créant une procédure
de construction du menu appellée de l'un ou l'autre des Sub...
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Setec Essarts" a écrit dans le message de news:
3ffbea6d$0$28712$
Aïe, ça je sait pas bien faire...

"Setec Essarts" a écrit dans le message de news:
3ffae9a5$0$28706$
Bonjour,

j'ai créé sous VBA excel 2003 un menu contextuel qui s'affiche dans
une



ou
plusieurs pages, à la condition que la cellule sélectionnée soit dans
une


plage définie.

Comment est-il possible d'afficher par ailleurs ce menu dans une barre
de


menu que j'ai créée dans une autre Sub sans avoir à le recréer (c'est
à



dire
avec des AddItems successifs, sans rappeler la procédure de création
du



menu)?

J'ai mis ça:
Set SDMenu > > > Application.CommandBars("Récolement").Controls.Add(msoControlPopup,
_CommandBars("Sous-dossiers"))
Mais il me dit "Incompatibilité de type" :((( ça m'énerve

La barre récolement est celle que j'ai créée, Sous-dossiers étant le
menupopup (Objet Commandbar)

Merci

Vincent