J'ai créé une barre de menu personnalisée composée de menus, sous menus et
contrôles.
Suivant l'utilisateur et son niveau d'utilisation, certains contrôles de ces
menus ne sont pas autorisés. Afin de leur interdire, je voudrais griser les
contrôles du menu correspondant (Enabled).
Malheureusement je ne sais quel code VBA utiliser.
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
Philippe PONS
Salut,
Tu réponds presque à ta question! C'est la propriété Enabled du control qu'il faut mettre à False. Je te passe un bout de code que j'utilise:
Set cb = CommandBars.Add("cbarEMC") 'Créé la barre de commande With cb 'création du menu déroulant EMC-Service Set CBBtn = .Controls.Add(Type:=msoControlPopup) With CBBtn .Caption = POPUP_MENU .Enabled = True '<== la c'est pas grisé!! 'création du bouton pour afficher le formulaire frmGestionDesActions Set CBSMenu = .Controls.Add(Type:=msoControlButton) With CBSMenu .Caption = BTN_GESTIONACTIONS .Enabled = False '<== la c'est grisé!! .OnAction = "=GestionFiche()" .Parameter = "GestAction" End With
Cordialement,
Philippe.
"Francois XAINTRAY" a écrit dans le message de news:
J'ai créé une barre de menu personnalisée composée de menus, sous menus et contrôles.
Suivant l'utilisateur et son niveau d'utilisation, certains contrôles de ces
menus ne sont pas autorisés. Afin de leur interdire, je voudrais griser les
contrôles du menu correspondant (Enabled).
Malheureusement je ne sais quel code VBA utiliser.
Quelqu'un pourrait-il m'éclairer.
Merci d'avance.
Salut,
Tu réponds presque à ta question!
C'est la propriété Enabled du control qu'il faut mettre à False.
Je te passe un bout de code que j'utilise:
Set cb = CommandBars.Add("cbarEMC") 'Créé la barre de commande
With cb
'création du menu déroulant EMC-Service
Set CBBtn = .Controls.Add(Type:=msoControlPopup)
With CBBtn
.Caption = POPUP_MENU
.Enabled = True '<== la c'est pas grisé!!
'création du bouton pour afficher le formulaire frmGestionDesActions
Set CBSMenu = .Controls.Add(Type:=msoControlButton)
With CBSMenu
.Caption = BTN_GESTIONACTIONS
.Enabled = False '<== la c'est grisé!!
.OnAction = "=GestionFiche()"
.Parameter = "GestAction"
End With
Cordialement,
Philippe.
"Francois XAINTRAY" <fr.xaintray@wanadoo.fr> a écrit dans le message de
news:uPwJN2ieDHA.1752@TK2MSFTNGP10.phx.gbl...
J'ai créé une barre de menu personnalisée composée de menus, sous menus et
contrôles.
Suivant l'utilisateur et son niveau d'utilisation, certains contrôles de
ces
menus ne sont pas autorisés. Afin de leur interdire, je voudrais griser
les
contrôles du menu correspondant (Enabled).
Malheureusement je ne sais quel code VBA utiliser.
Tu réponds presque à ta question! C'est la propriété Enabled du control qu'il faut mettre à False. Je te passe un bout de code que j'utilise:
Set cb = CommandBars.Add("cbarEMC") 'Créé la barre de commande With cb 'création du menu déroulant EMC-Service Set CBBtn = .Controls.Add(Type:=msoControlPopup) With CBBtn .Caption = POPUP_MENU .Enabled = True '<== la c'est pas grisé!! 'création du bouton pour afficher le formulaire frmGestionDesActions Set CBSMenu = .Controls.Add(Type:=msoControlButton) With CBSMenu .Caption = BTN_GESTIONACTIONS .Enabled = False '<== la c'est grisé!! .OnAction = "=GestionFiche()" .Parameter = "GestAction" End With
Cordialement,
Philippe.
"Francois XAINTRAY" a écrit dans le message de news:
J'ai créé une barre de menu personnalisée composée de menus, sous menus et contrôles.
Suivant l'utilisateur et son niveau d'utilisation, certains contrôles de ces
menus ne sont pas autorisés. Afin de leur interdire, je voudrais griser les
contrôles du menu correspondant (Enabled).
Malheureusement je ne sais quel code VBA utiliser.