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

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    septembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : septembre 2019
    Messages : 7
    Points : 1
    Points
    1

    Par défaut Word créer une liste déroulante permettant d'afficher/masquer un paragraphe

    Bonjour,

    J'ai un formulaire word qui contient plusieurs paragraphes contenant eux mêmes de nombreux champs.
    Ce formulaire est un courrier type qui n'est pas lié à un publipostage..
    Je cherche a faire en sorte que lorsque l'on choisi l'objet du courrier qui est dans une liste déroulante avec 2 choix, un paragraphe différent s'affiche selon le choix.
    J'ai trouvé pas mal de solutions en vba permettant d'afficher du texte selon le choix de la liste déroulant mais cela ne répond pas à mon problème. En effet, j'ai besoin que ces paragraphes contiennent des champs.
    J'ai donc pensé à la possibilité de créer des signets au niveau des paragraphes et d'afficher ou masquer ces signets en fonction du choix de la liste déroulante.
    Malheureusement débutant en vba, je n'arrive pas à trouver la solution.
    D'autant plus qu'il faut pouvoir enlever la protection avec mot de passe et la remettre à la fin de l'exécution de la macro.
    D'avance merci pour votre aide ou toute solution pouvant aboutir au résultat :-)

    Sam

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Vba Excel
    Inscrit en
    avril 2013
    Messages
    4 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Vba Excel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 4 119
    Points : 10 524
    Points
    10 524
    Billets dans le blog
    28

    Par défaut

    Citation Envoyé par sam092 Voir le message
    Bonjour,

    Sauf erreur de ma part, afficher ou masquer les signets signifie seulement faire apparaître ou masquer les crochets délimitant les signets.

    Je vois deux possibilités :
    • La plus facile, créer un objet Quickpart pour chaque cas. Regarder si les champs sont bien récupérés, je n 'ai pas testé.
    • Sinon, dans la mesure ou il n'y aurait que deux cas possibles, créer un formulaire pour chaque cas. Pour réaliser le choix, je créerais une boite de dialogue dans le Normal.dotm avec lancement de la macro dans la barre d'accès rapide. La validation ouvrirait le bon formulaire. Cette solution ne convient pas si elle doit être implantée sur plusieurs postes utilisateurs.
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    septembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : septembre 2019
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Bonjour Eric,

    Merci pour ces 2 pistes, je vais regarder du côté des objets Quickpart car en effet l'autre solution n'est pas idéale, je dois pouvoir transmettre le fichier à d'autres utilisateurs.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    septembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : septembre 2019
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Eric,

    J'ai regardé pour les objets Quickpart mais malheureusement je n'ai pas pu y intégrer de champs.
    Je suis preneur pour toutes autres solutions.

    Merci.

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Vba Excel
    Inscrit en
    avril 2013
    Messages
    4 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Vba Excel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 4 119
    Points : 10 524
    Points
    10 524
    Billets dans le blog
    28

    Par défaut

    Citation Envoyé par sam092 Voir le message
    Il vous faut partir de votre formulaire avec vos deux paragraphes contenant tous vos champs. Vous sélectionnez chacun des paragraphes et vous créez vos objets à partir de la sélection en cours. Je pense que cela devrait fonctionner.
    Nom : Capture.JPG
Affichages : 17
Taille : 54,0 Ko
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    septembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : septembre 2019
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Bonjour,

    J'ai avancé sur ma problématique.
    J'ai fait le code suivant :
    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
     
    Sub MaMacro()
     
    If ActiveDocument.ProtectionType <> wdNoProtection Then
    ActiveDocument.Unprotect "test"
    End If
     
    Select Case ActiveDocument.FormFields("MaListeDeroulante").Result
     
    Case "choix1"
    ActiveDocument.Bookmarks("signet1").Range.Font.Hidden = True
    ActiveDocument.Bookmarks("signet2").Range.Font.Hidden = False
     
    Case "choix2"
    ActiveDocument.Bookmarks("signet2").Range.Font.Hidden = True
    ActiveDocument.Bookmarks("signet1").Range.Font.Hidden = False
     
    End Select
     
    If ActiveDocument.ProtectionType = wdNoProtection Then
    ActiveDocument.Protect wdAllowOnlyFormFields, noreset, "test"
    End If
     
    End Sub
    Tout fonctionne bien, sauf le calcul en sortie de liste déroulante (j'ai mis la macro dans la liste déroulante avec calcul en sortie).
    En effet, pour que les modifications sur les signets soient effectives, il faut absolument tabuler.
    Hors, il peut arriver que quelqu'un sorte de la liste déroulante en cliquant à l'extérieur et dans ce cas le calcul en sortie ne se fait pas.

    Pouvez-vous m'aider pour que le calcul en sortie s'effectue quelque soit la façon de quitter la liste déroulante?

    D'avance merci.

    Sam.

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Vba Excel
    Inscrit en
    avril 2013
    Messages
    4 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Vba Excel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 4 119
    Points : 10 524
    Points
    10 524
    Billets dans le blog
    28

    Par défaut

    Citation Envoyé par sam092 Voir le message
    Bonjour,

    Je ne vois pas du tout comment votre document est organisé. Les événements sont gérés dans la partie ThisDocument. Mettez un fichier en ligne si vous souhaitez qu'on regarde.
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    septembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : septembre 2019
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Bonjour,
    J’ai créé une liste déroulante à partir des formulaires hérités.
    Dans cette liste déroulante j’ai demandé à exécuter ma macro à la sortie.
    Ma macro est dans un module et non dans ThisDocument.
    Sam.

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Développeur Vba Excel
    Inscrit en
    avril 2013
    Messages
    4 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Vba Excel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 4 119
    Points : 10 524
    Points
    10 524
    Billets dans le blog
    28

    Par défaut

    Citation Envoyé par sam092 Voir le message
    Si votre liste déroulante est un contrôle Active X directement dans le document et non dans un Userform, les événements applicables à l'objet sont dans la partie ThisDocument.
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    septembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : septembre 2019
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Bonjour Eric,
    Ma liste déroulante n’est pas un contrôle activex mais fait partie des éléments hérité.
    Sam.

  11. #11
    Expert éminent sénior

    Homme Profil pro
    Développeur Vba Excel
    Inscrit en
    avril 2013
    Messages
    4 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Vba Excel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 4 119
    Points : 10 524
    Points
    10 524
    Billets dans le blog
    28

    Par défaut

    Citation Envoyé par sam092 Voir le message
    Désolé, je ne peux pas vous aider.
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    septembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : septembre 2019
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Bonjour,

    Je suis toujours à la recherche d'une solution.
    Si vous avez des idées, n'hésitez pas

    Merci.

    Sam.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/05/2017, 09h39
  2. Réponses: 5
    Dernier message: 16/05/2007, 17h53
  3. Créer une Liste déroulante.
    Par ox@na dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/10/2006, 15h00
  4. [VB6]Créer une liste déroulante dans une dataGrid
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/05/2006, 09h32
  5. Réponses: 3
    Dernier message: 20/02/2006, 18h32

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