IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

menu vba avec access


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 1
    Par défaut menu vba avec access
    svp comment programmer un menu vba sous access ?

  2. #2
    Membre Expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Par défaut
    svp comment programmer un menu vba sous access ?
    Peut être déjà en commencant par lire les régles du Forum
    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.

  3. #3
    Expert confirmé
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Par défaut
    Citation Envoyé par habib2006
    svp comment programmer un menu vba sous access ?
    Bonjour et bienvenue sur le Forum,

    Comme le souligne FreeAccess la moindre des choses est de saluer. Aussi je t'invite à lire les règles du Forum http://club.developpez.com/regles/

    et ceci également http://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.

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 53
    Par défaut
    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 tutoriaux notamment 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

    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
    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.
    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

  5. #5
    Membre Expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Par défaut
    Bonjour,
    alors j'ai mis la : Microsoft Office 11.0 Object Library ... c'est peut etre important
    Non, c'est normal les librairies que tu charge sont fonction de la version d'Access que tu posséde.......11.0 pour AC2003, 10.0 pour AC2002...etc...
    demande d'utiliser des macros pour la ligne .OnAction,
    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 bouton
    Comme indiqué, tu créer autant de fonctions que necessaire dans un module.
    Sinon ici as tu essayé directement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .OnAction = LancerBlocNote()
    Bonne continuation.

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 53
    Par défaut
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .OnAction = LancerBlocNote()
    et ça fait exactement la même chose...c'est à dire rien quand on clique sur le bouton de menu!

    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.

  7. #7
    Membre expérimenté Avatar de ActionAccess
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Par défaut
    Bonjour,

    La propriété OnAction est de type String.

    Essaies en écrivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .OnAction = "=LancerBlocNote()"
    Cdlt,

  8. #8
    Expert confirmé
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Par défaut
    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

  9. #9
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 53
    Par défaut
    Citation Envoyé par Domi2
    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.
    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'application
    Bref, ça fait plus classe

    Et tout mon code se trouve dans un module indépendant.

    Merci Domi2

Discussions similaires

  1. [AC-2010] Compatibilté VBA avec Access 2003
    Par NIKOLAII dans le forum Access
    Réponses: 2
    Dernier message: 25/08/2012, 18h08
  2. Comment lire un fichier de 2go en VBA avec Access
    Par Fablondon dans le forum Access
    Réponses: 8
    Dernier message: 31/08/2006, 09h36
  3. Réponses: 5
    Dernier message: 13/07/2006, 09h39
  4. [Menu Général]Comment refaire le lien avec Access
    Par manujuggler dans le forum Access
    Réponses: 1
    Dernier message: 18/02/2006, 15h09
  5. Ajouter un enregitrement a une table vide en VBA avec access
    Par Mateache dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/01/2006, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo