cs_omera
Messages postés4Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention19 juillet 2002
-
11 mars 2002 à 17:53
KUOTHORN
Messages postés1Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention23 avril 2005
-
23 avril 2005 à 17:13
Bonjour!
Petit soucis: je souhaite créer et manipuler dynamiquement une barre
de controle sous vba (acces 2000). Cad ajouter des menus (File,
Options, Tools...) et ajouter dans ces menus des actions (nouveau,
sauver, etc..) de façon dynamique, en fonction de paramètres
récupérés dans un fichier.
Seulement, j'arrive bien a récupérer une référence à la barre crée "à
la main" - MaBarreDeControl -
Dim cmdBar As CommandBar
Set cmdBar = Application.CommandBars("MaBarreDeControl")
Mais une fois cette étape passée, impossible de créer de nouveau
menupopup, ou d'ajouter des actions a ceux déja existants par défauts
(crée aussi "à la main").
Quelqu'un pourrait-il m'aiguiller vers une solution ,car je
desespère... j'ai essaye des add, etc etc...
Bonjour,
Voici un bout de code qui fonctionne chez moi, en espérant qu'il en soit de même chez toi.
Attention aux références
sub ajouter_cmd(p_cmdbar as string)
Dim cmdbpopup As CommandBarPopup
Dim cmdbbtn As CommandBarButton
'Initialisation du menu déroulant "cmdbpopup"
Set cmdbpopup = Application.CommandBars(p_cmdbar).Controls.Add(Type:=msoControlPopup)
With cmdbpopup
.Caption = "&cmdbpopup"
.BeginGroup = True
End With
Set cmdbbtn = cmdbpopup.CommandBar.Controls.Add(Type:=msoControlButton)
With cmdbbtn
.Caption = "&cmdbbtn" 'nom du bouton
.Style = msoButtonCaption 'indique qu'il est en mode texte
.OnAction = ""
.Visible = False
End With
end sub