svp comment programmer un menu vba sous access ?![]()
svp comment programmer un menu vba sous access ?![]()
Peut être déjà en commencant par lire les régles du Forumsvp comment programmer un menu vba sous access ?![]()
Egalement en disant bonjour.......et eventuellement merci
Cela dit, bienvenue à toi sur ce Forum![]()
Pour quelques exemples sur la création de menus en VBA, regarde ce lien:
http://mypage.bluewin.ch/w.stucki/Fo...m#BarresOutils
[EDIT] Tu peux aussi regarder ce lien sur la création d'une barre d'outils/menus grace à un OCX (MSCOMCTL.OCX):
http://officesystem.access.free.fr/toolbar.htm
Consulte également l'aide d'Access
Bonne continuation.
Bonjour et bienvenue sur le Forum,Envoyé par habib2006
Comme le souligne FreeAccess la moindre des choses est de saluer. Aussi je t'invite à lire les règles du Forumhttp://club.developpez.com/regles/
et ceci égalementhttp://www.developpez.net/forums/showthread.php?t=15414.
Ce Forum possède de nombreux outils de recherche avec la, les
, la fonction
et l'aide très bien fournie d'access
.
en cliquant sur les images tu trouveras une multitude d'exemples, de codes et des cours complets sur des points précis.
Bonne lecture et à bientôt.
Bonjour à tous !
Ce post tombe a merveille puisque j'ai un petit soucis sur les barre de menu en VBA.
Moi j'ai lu pas mal de tutoriauxnotamment celui indiqué par FreeAccess et le cours de Warin http://warin.developpez.com/access/tutorielcontext1/ et en combinant un petit peu tout, j'ai obtenu le code suivant que j'ai mis dans un module nommé : Barre_menu
En fait la plupart des tutoriaux que l'on trouve demande d'utiliser des macros pour la ligne .OnAction, hors je ne veux utiliser que du VBA, d'où le code ci dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 Function MenuBar() Dim MBar As CommandBar Dim mMenu As CommandBarControl Dim mItem As CommandBarControl Dim NewSubItem As CommandBarControl 'On supprime la barre de menu si elle existe déjà On Error Resume Next CommandBars("Menu_G").Delete On Error GoTo 0 'Installe la barre de menu Set MBar = CommandBars.add(MenuBar:=True, Position:=msoBarTop, Temporary:=True) With MBar .Name = "Menu_G" .Visible = True End With 'Premier Menu Set mMenu = MBar.Controls.add(Type:=msoControlPopup) mMenu.Caption = "&Fichier" Set cBoutonBarre = mMenu.Controls.add(Type:=msoControlButton) ' Règle les propriétés du bouton de commande With cBoutonBarre .Style = msoButtonIconAndCaption .Caption = "Lancer le bloc note" .FaceId = 19 .TooltipText = "Lancer le bloc note" .OnAction = Barre_menu.LancerBlocNote() .Tag = "Lancer le bloc note" End With 'Lie la barre de menu au formulaire Forms!Menu1.ShortcutMenuBar = "Menu_G" End Function Public Function LancerBlocNote() Shell "Notepad.exe" End Function
Lorsque je me mets dans la procédure et que je clique sur F5, j'obtiens bien la nouvelle barre de menu, mais ...tous les boutons s'exécutent en même temps (là pour l'exemple, j'en ai laissé qu'un) et gros soucis également , lorsque je clique sur les boutons ensuite, directement sur la barre, il ne se passe rien, comme si il n'y avait pas d'évènement associé...![]()
Quelqu'un saurait-il pourquoi ?
De plus, j'ai essayé en fermant et rouvrant mon application, et ma barre de menu a disparue, c'est celle par défaut d'acces qui est revenue... on ne peut pas garder notre barre tout le temps ?
Merci à tous ceux qui pourront m'aider...Et aider ceux qui se demandent aussi comment faire
[Edit] La référence Microsoft Office 8.0 Object Library n'a pas voulu se charger, alors j'ai mis la : Microsoft Office 11.0 Object Library ... c'est peut etre important
Bonjour,
Non, c'est normalalors j'ai mis la : Microsoft Office 11.0 Object Library ... c'est peut etre importantles librairies que tu charge sont fonction de la version d'Access que tu posséde.......11.0 pour AC2003, 10.0 pour AC2002...etc...
Non, si tu regarde bien le code du tuto de Christophe WARIN, tu vois que dans le paragraphe "3.3 Code des boutons" il utilise des fonctions qui sont appelées à partir de la propriété 'Sur action' de ton boutondemande d'utiliser des macros pour la ligne .OnAction,
Comme indiqué, tu créer autant de fonctions que necessaire dans un module.
Sinon ici as tu essayé directement:
Bonne continuation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part .OnAction = LancerBlocNote()
Merci bcp concernant les références, je n'en savais rien du tout
Ensuite oui , j'ai vu que dans le tuto de christophe warin il utilise des codes VBA, et c'est justement pourquoi j'ai retrouvé le sourire (parce que je déteste les macros) et que j'ai essayé dans mettre dans le code que j'ai présenté..
Et sinon oui j'ai essayé la ligne :
et ça fait exactement la même chose...c'est à dire rien quand on clique sur le bouton de menu!
Code : Sélectionner tout - Visualiser dans une fenêtre à part .OnAction = LancerBlocNote()
Merci FreeAccess
De toute façon je ne vais pas laché ce sujet, je veux absolument que ça marche, alors à très vite
PS : Note importante je pense, dans le tuto de christophe, il fabrique une barre de menu pour un formulaire, alors que mon code fabrique une barre de menu pour l'application en entier.
Bonjour,
La propriété OnAction est de type String.
Essaies en écrivant :
Cdlt,
Code : Sélectionner tout - Visualiser dans une fenêtre à part .OnAction = "=LancerBlocNote()"
Bonjour,
Tout d'abord, si tu as créé ton menu par vba uniquement pour pouvoir lancer des fonctions... ce n'était pas utile... !
Tu peux très bien lancer une fonction depuis un menu personnalisé, en mettant sur la ligne Sur action =MaFonction() en lieu et place du nom d'une macro.
Ensuite, pour ce qui est de l'exécution simultanée, difficile de te renseigner, puisque tu n'as laissé qu'un seul bouton dans ton code.
Mais c'est peut-être dû au fait que tu n'as pas bien déclaré la création de tout tes boutons.
Enfin, pour ce qui est de la disparition de ta barre de menu, où places-tu ton code ?
Domi2
Oui je sais que ce n'est pas forcément utile, puisque j'ai déjà un menu personnalisé, mais j'ai envie de faire disparaitre la barre de menu d'access et de mettre la mienne, ce qui personnalise bien plus l'applicationEnvoyé par Domi2
Bref, ça fait plus classe![]()
Et tout mon code se trouve dans un module indépendant.
Merci Domi2
Partager