J'ai visit=E9 le forum pour essayer de trouver une r=E9ponse =E0 mon
probl=E8me mais en vain, merci =E0 toute personne pouvant m'aider,
J'ai un menu personnalis=E9 sous access que j'ouvre automatiquement.
Menu1 Menu2 Quiter
Menu2,
Etat1
Etat2
Etat3
Je voudrais ex=E9cut=E9 une fonction qui est la m=EAme pour les 3, juste
le titre de l'=E9tat qui change.
Je peux acc=E9der au sous-menu Etat1, 2 ou 3
Captureligne=3DCommandBars("monmenu").Controls(2).Controls(1).Caption
Mais je ne sais pas s'il y a une fonction qui me permet de savoir
quand je clique sur etat1 que c'est le sous-menu etat1 et ainsi pour
tous les sous-menu sans sp=E9cifier la position de la ligne du sous-menu
comme 1 pour mon cas pour Etat1.
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
joyeux atchoum
bonjour
Si j'ai bien suivi ta question, tu as dans un menu 3 actions qui doivent ouvrir 3 états distincts à l'aide d'une meme méthode. Si c'est ça tu dois utiliser la propriété parameter.
Dans ta méthode ouvirEtat()
Set CBBouton = Application.CommandBars.ActionControl Select Case CBBouton.Parameter Case "Etat1" 'action associé à état 1 Case "Etat2" 'action associé à état 2 Case Else 'Autre cas End Select
Et si tu generes ta barre d'outil en VBA , tu précises Parameter comme ceci par exemple
Dim BarreMenu As CommandBar Dim cbcParent As CommandBarControl Dim cbcControle As CommandBarControl
set BarreMenu = CommandBars.Add(MenuBar:=bolMenuBarre, position:=mbpPosition, Temporary:=bolTemporaire)
Set cbcParent = Set cbcControle = cbcParent.Controls.Add(Type:=msoControlPopup)
Set cbcControle = cbcParent.Controls.Add(Type:=msoControlButton, Parameter:=strParametre)
With cbcControle .Caption = strTitre .OnAction = "OuvrirEtat" End With
ja qui espére avoir donné un début de reponse
bonjour
Si j'ai bien suivi ta question, tu as dans un menu 3 actions qui
doivent ouvrir 3 états distincts à l'aide d'une meme méthode.
Si c'est ça tu dois utiliser la propriété parameter.
Dans ta méthode ouvirEtat()
Set CBBouton = Application.CommandBars.ActionControl
Select Case CBBouton.Parameter
Case "Etat1"
'action associé à état 1
Case "Etat2"
'action associé à état 2
Case Else
'Autre cas
End Select
Et si tu generes ta barre d'outil en VBA , tu précises Parameter comme
ceci par exemple
Dim BarreMenu As CommandBar
Dim cbcParent As CommandBarControl
Dim cbcControle As CommandBarControl
set BarreMenu = CommandBars.Add(MenuBar:=bolMenuBarre,
position:=mbpPosition, Temporary:=bolTemporaire)
Set cbcParent = Set cbcControle =
cbcParent.Controls.Add(Type:=msoControlPopup)
Set cbcControle = cbcParent.Controls.Add(Type:=msoControlButton,
Parameter:=strParametre)
With cbcControle
.Caption = strTitre
.OnAction = "OuvrirEtat"
End With
Si j'ai bien suivi ta question, tu as dans un menu 3 actions qui doivent ouvrir 3 états distincts à l'aide d'une meme méthode. Si c'est ça tu dois utiliser la propriété parameter.
Dans ta méthode ouvirEtat()
Set CBBouton = Application.CommandBars.ActionControl Select Case CBBouton.Parameter Case "Etat1" 'action associé à état 1 Case "Etat2" 'action associé à état 2 Case Else 'Autre cas End Select
Et si tu generes ta barre d'outil en VBA , tu précises Parameter comme ceci par exemple
Dim BarreMenu As CommandBar Dim cbcParent As CommandBarControl Dim cbcControle As CommandBarControl
set BarreMenu = CommandBars.Add(MenuBar:=bolMenuBarre, position:=mbpPosition, Temporary:=bolTemporaire)
Set cbcParent = Set cbcControle = cbcParent.Controls.Add(Type:=msoControlPopup)
Set cbcControle = cbcParent.Controls.Add(Type:=msoControlButton, Parameter:=strParametre)
With cbcControle .Caption = strTitre .OnAction = "OuvrirEtat" End With