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

IHM Discussion :

Exécuter une macro en fonction d'un choix dans un formulaire


Sujet :

IHM

  1. #1
    Membre régulier Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Points : 73
    Points
    73
    Par défaut Exécuter une macro en fonction d'un choix dans un formulaire
    Bonjour,

    Je dois créer une macro qui en fonction de l'option choisie dans le champ 'Choix' d'un formulaire doit exécuter une autre macro.
    Exemple: Choix=1 provoque le lancement de la macro Mac1, Choix 2 lancement de Mac2 etc...
    Le formulaire "Menu1" propose un choix de 4 options et comporte le champ 'Choix'.

    J'ai créé un formulaire avec l'aide de l'assistant et avec une table ayant un champ 'Choix'. Ensuite j'ai créé 4 macros Mac1, Mac2 ... et une macro ayant comme action 'exécuter macro'. J'ai mis Forms!Menu1![Choix]=1 comme condition dans la macro pour lancer Mac1 et forms!Menu1![Choix]=2 pour lancer Mac2 etc...
    ça affiche Access ne trouve pas le champ Choix ?

    Je travaille sur cette question depuis quelques jours et je ne parviens pas à trouver de solution ?
    Pouvez vous m'aider ?

  2. #2
    Membre régulier Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Points : 73
    Points
    73
    Par défaut
    Je n'arrive pas à créer le formulaire Menu1 avec le champ 'Choix' qui propose les 4 options

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 282
    Points : 356
    Points
    356
    Par défaut
    Bonjour,

    Le plus simple est de creer un formulaire sans l'assistant et d'y inserer un "groupe d'options" avec les 4 options et d'ensuite tester la valeur du groupe d'options sur l'evenement "After Update" du groupe d'options :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Groupe_AfterUpdate()()
    Select Case Me.Groupe.Value
        Case 1
            DoCmd.RunMacro MaMacro1
        Case 2
            DoCmd.RunMacro MaMacro2
        Case 3
            DoCmd.RunMacro MaMacro3
        Case 4
            DoCmd.RunMacro MaMacro4
    End Select
    End Sub

  4. #4
    Membre régulier Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Points : 73
    Points
    73
    Par défaut
    je te remercie de ta réponse mais je suis en apprentissage et je n'ai pas appris le langage VBA.
    Mon soucis c'est de parvenir à créer le formulaire Menu1 avec le champ 'Choix'. J'ai consulté des tutos sur internet sur les formulaires et je n'arrive pas à comprendre comment il faut s'y prendre pour créer Menu1 ?

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    J'ai créé un formulaire avec l'aide de l'assistant et avec une table ayant un champ 'Choix'. Ensuite j'ai créé 4 macros Mac1, Mac2 ... et une macro ayant comme action 'exécuter macro'. J'ai mis Forms!Menu1![Choix]=1 comme condition dans la macro pour lancer Mac1 et forms!Menu1![Choix]=2 pour lancer Mac2 etc...
    ça affiche Access ne trouve pas le champ Choix ?
    Dans un premier vérifie bien que la propriété Nom du champ Choix. En effet, le nom utilisé dans le formulaire peut être différent de celui de la table.

  6. #6
    Membre régulier Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Points : 73
    Points
    73
    Par défaut
    Le nom du champ dans le formulaire est bien le même que celui de la table.
    J'ai mis Forms!Menu1!choix=1 dans la macro qui a aussi le même nom de choix.
    Je coimprends pas pourquoi Access marque qu''il ne reconnait pas 'choix' ?
    Et si je créais un formulaire indépendant ?

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    Lorsque j'ai testé (sur Access 2007) la condition
    Forms!Menu1!choix=1
    s'est transformée en
    [Formulaires]!Menu1!choix=1
    Est-ce le cas pour toi en 2003 ?

  8. #8
    Membre régulier Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Points : 73
    Points
    73
    Par défaut
    c'est devenu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![Menu1]![choix]=1
    Peux tu m'aider sinon pour créer le formulaire ? J'ai créé la table avec un champ 'Choix' et 4 valeurs (1, 2, 3 et 4). C'est peut être ça que je fais mal ?

  9. #9
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    Tu n'as aps besoin d'une table pour faire tes choix
    Tu créé un formulaire en reprenant l'idée de SSJconsult , et à l'événement Après Mise A jour de ton groupe, tu associes ta macro.
    Bon courage

  10. #10
    Membre régulier Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Points : 73
    Points
    73
    Par défaut
    J'ai créé le formulaire avec le groupe d'option. J'ai indiqué l'option case à cocher.
    J'ai créé les 4 macros. Mais je ne parviens pas à associer la macro principale, qui doit provoquer le lancement des quatre macros, au formulaire ? Quand j'exécute la macro ça me donne toujours le résultat de la macro1 ?
    J'inscris Mac1 dans nom de macro, dans les conditions je mets Formulaires![Menu1]![1] et dans action je mets ExécuterMacro. Je fais pareil pour les 3 autre macros en changeant le dernier numéro et dans les arguments de l'action je mets le nom des macros à chaque fois.
    Je dois oublier quelque chose mais je ne parviens pas à savoir quoi ?

  11. #11
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    On va reprendre
    Dans ton formulaire Menu1, tu as créé une zone de groupe. On va l'appeler MonGroupe.
    Tu associes ta macro principal à l'événement Après MAJ de cette zone.
    Dans ta macro, tes conditions doivent être de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [formulaires]![menu1]![MonGroupe]=1
    Vérifie bien la propriété valeur de chaque case à cocher (tu dois avoir des valeurs différentes de 1 à 4).

    A+

Discussions similaires

  1. [XL-2007] USF récupérer dans une valeur en fonction d'un choix dans une liste (Combobox)
    Par mouftie dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/07/2015, 15h48
  2. Réponses: 3
    Dernier message: 14/05/2014, 12h00
  3. Réponses: 3
    Dernier message: 18/01/2007, 18h19
  4. [Macro] Exécuter une macro en fonction d'un contrôle
    Par sugan dans le forum VBA Access
    Réponses: 6
    Dernier message: 02/10/2006, 16h02
  5. [VB6] Exécuter une macro Access
    Par Nektanebos dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 22/02/2006, 16h32

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