OVH Cloud OVH Cloud

Manipulation d'éléments de barre d'outils

2 réponses
Avatar
Julien
Bonjour à tous,

J'ai un souci pour manipuler un une barre d'outils que je crée en VBA et qui
dispose d'un menu déroulant nommé "Menu perso" avec 2 élément de menus,
nommé Option 1 & Option 2.

Voici le code que j'utilise :

Sub AfficheCB()
NomCB = "MaBarre"
Application.CommandBars.Add(Name:=NomCB, Position:=msoBarTop).Visible =
True

With Application.CommandBars(NomCB).Controls.Add(msoControlButton)
.Caption = "Paramètres"
.Style = msoButtonCaption
.OnAction = "AfficherParametres"
End With
With Application.CommandBars(NomCB).Controls.Add(msoControlPopup)
.Caption = "Menu perso"
With .Controls.Add(msoControlButton)
.Caption = "Option 1"
.OnAction = "ActiverOption1"
End With
With .Controls.Add(msoControlButton)
.Caption = "Option 2"
.OnAction = "ActiverOption2"
End With
End With
End Sub

Je souhaiterais pouvoir cocher ou décocher les éléments de menu Options 1 ou
Option 2 si l'utilisateur les clique, mais je n'y parviens pas...

Comment "m'adresser" à l'élément de menu qui m'intéresse ?
Application.CommandBars(NomCB).Controls(2) fait référence au menu "Menu
perso" (msoControlPopup), mais ensuite ? Comment atteindre les éléments
msoControlButton pour les cocher/décocher (.State = msoButtonDown ou
msoButtonUp) ?

Merci de votre aide,

Julien

2 réponses

Avatar
Nicolas B.
Salut Julien,

Un fois que tu es dans le menu perso, tu appelles à nouveau Controls
mais en demandant l'Option 1 :
Application.CommandBars("MaBarre").Controls("Menu
perso").Controls("Option 1").State = msoButtonDown


A+
Nicolas B.

Julien wrote:
Bonjour à tous,

J'ai un souci pour manipuler un une barre d'outils que je crée en VBA et qui
dispose d'un menu déroulant nommé "Menu perso" avec 2 élément de menus,
nommé Option 1 & Option 2.

Voici le code que j'utilise :

Sub AfficheCB()
NomCB = "MaBarre"
Application.CommandBars.Add(Name:=NomCB, Position:=msoBarTop).Visible > True

With Application.CommandBars(NomCB).Controls.Add(msoControlButton)
.Caption = "Paramètres"
.Style = msoButtonCaption
.OnAction = "AfficherParametres"
End With
With Application.CommandBars(NomCB).Controls.Add(msoControlPopup)
.Caption = "Menu perso"
With .Controls.Add(msoControlButton)
.Caption = "Option 1"
.OnAction = "ActiverOption1"
End With
With .Controls.Add(msoControlButton)
.Caption = "Option 2"
.OnAction = "ActiverOption2"
End With
End With
End Sub

Je souhaiterais pouvoir cocher ou décocher les éléments de menu Options 1 ou
Option 2 si l'utilisateur les clique, mais je n'y parviens pas...

Comment "m'adresser" à l'élément de menu qui m'intéresse ?
Application.CommandBars(NomCB).Controls(2) fait référence au menu "Menu
perso" (msoControlPopup), mais ensuite ? Comment atteindre les éléments
msoControlButton pour les cocher/décocher (.State = msoButtonDown ou
msoButtonUp) ?

Merci de votre aide,

Julien




Avatar
Julien
Ça marche :)

Merci de ton aide !

A +

Julien

"Nicolas B." a écrit dans le message
de news:%
Salut Julien,

Un fois que tu es dans le menu perso, tu appelles à nouveau Controls
mais en demandant l'Option 1 :
Application.CommandBars("MaBarre").Controls("Menu
perso").Controls("Option 1").State = msoButtonDown


A+
Nicolas B.

Julien wrote:
Bonjour à tous,

J'ai un souci pour manipuler un une barre d'outils que je crée en VBA et
qui


dispose d'un menu déroulant nommé "Menu perso" avec 2 élément de menus,
nommé Option 1 & Option 2.

Voici le code que j'utilise :

Sub AfficheCB()
NomCB = "MaBarre"
Application.CommandBars.Add(Name:=NomCB,
Position:=msoBarTop).Visible > > True



With Application.CommandBars(NomCB).Controls.Add(msoControlButton)
.Caption = "Paramètres"
.Style = msoButtonCaption
.OnAction = "AfficherParametres"
End With
With Application.CommandBars(NomCB).Controls.Add(msoControlPopup)
.Caption = "Menu perso"
With .Controls.Add(msoControlButton)
.Caption = "Option 1"
.OnAction = "ActiverOption1"
End With
With .Controls.Add(msoControlButton)
.Caption = "Option 2"
.OnAction = "ActiverOption2"
End With
End With
End Sub

Je souhaiterais pouvoir cocher ou décocher les éléments de menu Options
1 ou


Option 2 si l'utilisateur les clique, mais je n'y parviens pas...

Comment "m'adresser" à l'élément de menu qui m'intéresse ?
Application.CommandBars(NomCB).Controls(2) fait référence au menu "Menu
perso" (msoControlPopup), mais ensuite ? Comment atteindre les éléments
msoControlButton pour les cocher/décocher (.State = msoButtonDown ou
msoButtonUp) ?

Merci de votre aide,

Julien