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

Word Discussion :

Listes déroulantes liées


Sujet :

Word

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Par défaut Listes déroulantes liées
    Bonjour à tous,

    J'ai trouvé sur la toile une macro écrite par Heureux-oli. Cette macro correspond bien à mes besoins.
    Je souhaite créer un formulaire avec plusieurs listes déroulantes liées 2 par 2. J'ai donc préparé un formulaire de test avec les listes déroulantes 1 avec 2 et 3 avec 4.
    Dans la liste 1 j'ai entré les valeurs "1", "2" et "3".
    Dans la liste 3 j'ai entré les valeurs "Beetle", "Canon", "Compaq" et "Dell".
    Voici donc les macros.

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    Sub Test()
        With ActiveDocument.FormFields(2).DropDown
            .ListEntries.Clear
        End With
     
    Select Case ActiveDocument.FormFields(1).Result
    Case "1"
        With ActiveDocument.FormFields(2).DropDown
            .ListEntries.Add "1 avec Un"
            .ListEntries.Add "1 avec deux"
            .ListEntries.Add "1 avec trois"
        End With
    Case "2"
        With ActiveDocument.FormFields(2).DropDown
            .ListEntries.Add "2 avec Un"
            .ListEntries.Add "2 avec deux"
            .ListEntries.Add "2 avec trois"
        End With
    Case "3"
        With ActiveDocument.FormFields(2).DropDown
            .ListEntries.Add "3 avec Un"
            .ListEntries.Add "3 avec deux"
            .ListEntries.Add "3 avec trois"
        End With
    End Select
     
    End Sub
    Sub PwdMarque()
    With ActiveDocument.FormFields(4).DropDown
            .ListEntries.Clear
        End With
     
    Select Case ActiveDocument.FormFields(3).Result
    Case "Beetle"
        With ActiveDocument.FormFields(4).DropDown
            .ListEntries.Add "M II"
        End With
    Case "Canon"
        With ActiveDocument.FormFields(4).DropDown
            .ListEntries.Add "Scanfront 220"
         End With
    Case "Compaq"
        With ActiveDocument.FormFields(4).DropDown
            .ListEntries.Add "Evo D500"
            .ListEntries.Add "Evo D510 SFF"
            .ListEntries.Add "Evo NC6000"
            .ListEntries.Add "DeskPro"
            .ListEntries.Add "Workstation"
        End With
    Case "Dell"
        With ActiveDocument.FormFields(4).DropDown
            .ListEntries.Add "FX 160"
            .ListEntries.Add "Latitude D420"
            .ListEntries.Add "Latitude D430"
            .ListEntries.Add "Latitude D610"
            .ListEntries.Add "Latitude D620"
            .ListEntries.Add "Latitude D630"
            .ListEntries.Add "Latitude E4300"
            .ListEntries.Add "Latitude E4310"
            .ListEntries.Add "Latitude E5400"
            .ListEntries.Add "Latitude E6400"
            .ListEntries.Add "Latitude E4300"
            .ListEntries.Add "Latitude E4310"
            .ListEntries.Add "Latitude E5400"
            .ListEntries.Add "Latitude E5410"
            .ListEntries.Add "Latitude E6400"
            .ListEntries.Add "Latitude E6410"
            .ListEntries.Add "Optiplex 740"
            .ListEntries.Add "Optiplex 780"
            .ListEntries.Add "Workstation"
        End With
        End Select
     
    End Sub
    Le problème, c'est que l'exécution est très lente et que la modification de la liste déroulante 2 ne se fait qu'après celle de la 4. Et en plus, il faut s'y prendre plusieurs fois avant que le bon résultat s'affiche.

    Est-il possible de multiplier les couples de listes déroulantes autant de fois que besoin dans un formulaire ?
    Est-ce qu'il y a une erreur de syntaxe dans les macros ?

    Merci pour votre aide.

    Cordialement.

    Cilor.

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    je ne vois pas ce qui coince, j'ai repris ton code et je l'ai utilisé dans un document, je ne rencontre pas de problème de lenteur ou de mise à jour.
    Fichiers attachés Fichiers attachés
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Par défaut
    Bonjour,

    Tout d'abord merci pour ta réponse.

    Effectivement, je viens de tester ton fichier et il ne se comporte pas comme le mien.
    J'ai constater quelque chose de bizarre :
    Quand je crée d'abord le formulaire avec les listes et puis ensuite les macros, ne fonctionnent pas correctement. Par contre je viens juste de faire l'inverse, c'est à dire créer les macros et après seulement insérer les listes déroulantes dans le formulaire, ça fonctionne parfaitement bien.

    Dernière question, Y a t-il un nombre maximum de macro par feuille à respecter ?


    Cordialement.

    Cilor.

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,
    Citation Envoyé par cilor Voir le message
    Dernière question, Y a t-il un nombre maximum de macro par feuille à respecter ?
    J'en ai aucune idée !
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Par défaut
    Bonjour,

    Je crois que mon problème vient du fait de l'identification de la liste. Est-il possible de donner un nom à chaque liste déroulante et comment faire ?

    Ainsi au lieu d'avoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.FormFields(2)

    on pourrait avoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.FormFields(toto)
    toto étant le nom donné à la liste déroulante. Ce qui faciliterait la lecture de la macro et permettrait des modifications plus aisées.


    Cordialement.


    Cilor.

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    toto étant un String, il faut des " de chaque côté.
    Mais c'est tout à fait possible.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Par défaut
    Ca y est, ça fonctionne . J'ai lu les docs que tu m'as indiquées et j'ai trouvé ce que je cherchais . Je n'ai pas tout compris mais j'ai téléchargé la version PDF et je vais étudier cela à tête reposée. Peut-être ( même surement) cela me permettra d'améliorer encore plus mon formulaire .

    Cordialement.

    Cilor.

  8. #8
    Expert confirmé
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Par défaut
    Salut Cilor,

    Si ton sujet est fini, n'oublie pas de cliquer sur , ça permet aux autres DVPnautes de savoir qu'il y a une solution (pas toujours avec une issue positive d'ailleurs) à ce fil.

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Debug script listes déroulantes liées
    Par AnTiX dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/04/2005, 12h03
  2. Griser 1 liste déroulante liée à une autre, pb de concaténat
    Par linou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/03/2005, 16h45
  3. listes déroulantes liées
    Par k4eve dans le forum Struts 1
    Réponses: 3
    Dernier message: 26/04/2004, 15h11
  4. Listes déroulantes liées entre elles
    Par denisC dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/07/2002, 15h53

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