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 Word Discussion :

Liste déroulante VBA WORD


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Liste déroulante VBA WORD
    Bonjour,

    J'ai un problème lorsque je souhaite récupérer la valeur de ma liste déroulante

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test()
        MsgBox ActiveDocument.FormFields("couleur").Result
    End Sub
    et voici mon erreur :

    Erreur 5941, Le membre de la collection requis n'existe pas

    Cordialement,

    Flo

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Tu n'as pas de FormField nommé couleur dans ton document.
    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
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    j'ai nommé ma liste déroulante en faisant : Insert/Signet que j'ai nommé "couleur"

    Est ce bon ??

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Normalement, ça devrait le faire.

    Essaie une boucle sur tous les FormFields de ton document pour voir si il est présent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim myFF As FormField
     
    For Each myFF in Activedocument.formfields
        Debug.print myFF.Name
    Next myFF
    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
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    J'ai créer plusieurs listes déroulantes sur un document Word. Ces listes déroulantes contiennent chacune des données similaires (des devises (ex: EUR, CHF, GBP, ...)). Je souhaiterai pouvoir sélectionner une devise dans la première liste déroulante et répercuter cette sélection sur les autres listes. Par exemple, si je choisis la devise "EUR" dans la première liste déroulante, toutes les autres liste déroulantes vont afficher la devise "EUR".

    Je bloque avec le code VBA pour créer cet fonctionnalité. Est-il possible de m'aider ?

    Merci

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Pourquoi passer par des listes déroulantes si c'est pour imposer des valeurs ?
    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
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Salut Heureux-oli,

    Merci pour ta réponse. Je ne vois pas trop ou tu veux en venir ? J'ai besoins de liste déroulante pour choisir une devise spécifique. Comme je l'ai dis cela peut être des "EUR", "CHF" etc. Et le choix de ma devise pour la première liste déroulante doit affecter les autres listes déroulantes.

    Est-ce que mon explication est plus claire ?

  8. #8
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Donc, pour résumer.
    Tu choisis dans la première liste une valeur "EUR" et cette valeur va être affichée par la autres listes.

    Pourquoi avoir des listes, une seule suffit. dans ce cas.
    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 !

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Oui voila.

    J'ai besoin que ces valeurs soient tout simplement reprise plusieurs fois dans mon document. Selon toi il serait possible/plus simple d'avoir une liste déroulante et des champs dans lesquels les éléments de la liste déroulante sont repris? Plutôt que d'avoir plusieurs listes déroulantes.

  10. #10
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Tout à fait.
    Une seule liste avec les choix.

    Pour cette liste, tu crées un style personnalisé qui peut avoir les mêmes caractéristiques que le texte qui l'entoure.

    A tous les endroits où l'inforamation doit se trouver, tu insères un champ ctrl + F9 (materialisé par deux crochets) dans lequel tu inscrit :

    Tous les champs prendront la valeur de ta liste.
    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 !

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Salut,

    Très bien. Mais comment créer un style personnalisé pour ma liste? Et quid du code, doit-il être entré directement dans le champs ou dans l'éditeur VBA?

    Désolé pour ces questions triviales mais je débute.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Après quelque essais, j'ai réussi à insérer les champs comme tu me l'a indiquer mais lorsque je sélectionne une autre valeur (=une autre devise) dans la liste déroulante, les champs ne change pas et garde l'ancienne valeur.

    Peut-tu m'aider à résoudre ce problème? J'y suis presque ^^

  13. #13
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    On va faire beaucoup plus simple.

    Ta liste déroulante possède un nom que l'on obtiens dans la boîte de dialogue qui sert à la remplir.

    Copie ce nom, normalement, c'est ListeDéroulanteX. Au passage, coche calculer à la sortie.

    Partout où tu en as besoin, tu insère un champ et tu colle ce nom dans les crochets.

    Ca devrait être plus simple et avec un résultat plus sûr.
    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 !

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Salut,

    J'ai suivi tes conseils mais rien ne se passe. J'ai copié le nom de ma liste déroulante (ListeDéroulante25),coché la case calculer à la sortie et inséré {StyleRef ListeDéroulante25} entre crochet. Ai-je oublié qqch?

  15. #15
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Le nom de la ma liste déroulante se trouve dans "Réf" et non pas dans "RéfStyle" comme tu me l'as indiqué. Peut-être le problème provient-il de là?

  16. #16
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Les crochets sont obtenus par la combinaison de touché Ctrl + F9.
    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 !

  17. #17
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    J'ai bien mis les crochets mais le problème est que quand j'active la protection de mon document et que je change la valeur de la liste déroulante (par exemple "EUR" changé pour "CHF"), cette valeur n'est pas répercutée dans les champs (La valeur reste donc "EUR" au lieu de devenir "CHF").

  18. #18
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Il faut quitter la liste pour que la valeur soit répercutée.
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip 4.zip (12,4 Ko, 216 affichages)
    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 !

  19. #19
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Salut,

    J'ai résussi. Un énorme merci pour ton aide !!!

    A bientôt

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/03/2011, 20h05
  2. Mettre nom table dans liste déroulante vba Excel
    Par Fred246 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/12/2009, 08h20
  3. listes déroulantes dans word
    Par yeyette dans le forum Word
    Réponses: 43
    Dernier message: 10/08/2008, 19h23
  4. Liste déroulante dans word
    Par enretard dans le forum VBA Word
    Réponses: 6
    Dernier message: 17/07/2008, 13h50
  5. Liste déroulante VBA
    Par GMmaurice dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/04/2008, 15h33

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