Word créer une liste déroulante permettant d'afficher/masquer un paragraphe
Fermé
sam092
-
8 sept. 2019 à 16:00
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 16 sept. 2019 à 08:28
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 16 sept. 2019 à 08:28
A voir également:
- Modifier une liste déroulante word
- Modifier liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Supprimer une page word - Guide
- Modifier dns - Guide
- Espace insécable word - Guide
4 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
Modifié le 9 sept. 2019 à 11:28
Modifié le 9 sept. 2019 à 11:28
Bonjour,
qu'entends-tu par Formulaire?
Un UserForm?
Il faudrait être plus précis!
Poster la macro qui a été faite
en attendant lire ceci, il y aura peut être une réponse à la question:
https://word.developpez.com/faq/?page=VBA
qu'entends-tu par Formulaire?
Un UserForm?
Il faudrait être plus précis!
Poster la macro qui a été faite
en attendant lire ceci, il y aura peut être une réponse à la question:
https://word.developpez.com/faq/?page=VBA
Bonjour,
J'ai avancé sur ma problématique.
J'ai fait le code suivant :
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.
J'ai avancé sur ma problématique.
J'ai fait le code suivant :
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.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
Modifié le 12 sept. 2019 à 08:00
Modifié le 12 sept. 2019 à 08:00
Avec une variable Booléenne qui se met à True lors du clic dans la liste déroulante. Cette variable est à False au début de la macro et remis à False à la fin.
Le calcul en sortie ne se fait que si ta variable est à True.
@+
Le calcul en sortie ne se fait que si ta variable est à True.
@+
sam092
>
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
12 sept. 2019 à 08:23
12 sept. 2019 à 08:23
Bonjour,
Serait-il possible de me donner plus de précisions avec le code, je débute et je ne vois pas comment faire.
D’avance merci.
Sam.
Serait-il possible de me donner plus de précisions avec le code, je débute et je ne vois pas comment faire.
D’avance merci.
Sam.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
12 sept. 2019 à 08:26
12 sept. 2019 à 08:26
j'ai mis la macro dans la liste déroulante avec calcul en sortie.
Voir cette macro et comment se déclenche-t-elle?
Voir cette macro et comment se déclenche-t-elle?
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
12 sept. 2019 à 12:50
12 sept. 2019 à 12:50
Voir ceci si cela peut te faire avancer:
https://heureuxoli.developpez.com/office/word/formulaires/#L2-E
Sur ce point je ne peux pas t'aider!
https://heureuxoli.developpez.com/office/word/formulaires/#L2-E
Sur ce point je ne peux pas t'aider!
J'ai essayé mais sans succès.
J'avais mis
Faut-il intégrer cette mise à jour à ma macro, ou faut-il mettre cette macro à part?
Et dans ce cas comment la déclenche t'on?
J'avais mis
ActiveDocument.FormFields(4).CalculateOnExit = Trueà la fin de mon code, juste avant la remise de la protection, mais ça ne change rien.
Faut-il intégrer cette mise à jour à ma macro, ou faut-il mettre cette macro à part?
Et dans ce cas comment la déclenche t'on?
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
14 sept. 2019 à 18:39
14 sept. 2019 à 18:39
D'après ce que je comprends tu fais une macro avec ce code et tu la mets en macro de sortie dans ta liste déroulante.
Ne serait-il pas possible de créer une boucle qui dirait que tant que je suis dans la liste déroulante, j'exécute la macro?
C'est une idée :-)
C'est une idée :-)
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
16 sept. 2019 à 08:28
16 sept. 2019 à 08:28
Tu peux t’intéresser aux événements du doc pour déclencher une macro en regardant ceci:
http://faqword.com/evenements/evenements.pdf
@+
http://faqword.com/evenements/evenements.pdf
@+
9 sept. 2019 à 20:33
Il s'agit bien d'un formulaire Word (et non un UserForm).
C'est un courrier avec des champs soit en liste déroulante (civilité) soit avec des zones à remplir (coordonnées).
J'ai commencé, avec les recherches web, ce code :
Sub MaMacro()
If Not ActiveDocument.ProtectionType = wdNoProtection Then
ActiveDocument.Unprotect "test"
End If
Select Case
ActiveDocument.FormFields("MaListeDeroulante").Result
Case "Choix1"
ActiveDocument.Bookmarks("Signet1").Range.Font.Hidden = True
Case "Choix2"
ActiveDocument.Bookmarks("Signet2").Range.Font.Hidden = True
End Select
ActiveDocument.Protect wdAllowOnlyFormFields
End Sub
J'aimerai pouvoir compléter le code pour que lors d'un nouveau changement dans ma liste déroulante, le nouveau choix apparaisse et que l'ancien disparaisse.
De plus, à la fin de la macro, j'aimerai que la protection avec le mot de passe soit remise en place.
Merci pour votre aide.
Sam.
Modifié le 10 sept. 2019 à 08:04
Bon courage
@+