Menu

Zone de texte remplie selon choix d'une liste déroulante

Messages postés
2
Date d'inscription
mardi 30 avril 2019
Statut
Membre
Dernière intervention
2 mai 2019
- - Dernière réponse :  Roro_6768 - 3 mai 2019 à 09:43
Bonjour,

Cette conversation existe déjà pour excel mais je souhaiterais le faire sous word 2016.

L'idée est que j'ai une liste déroulante avec plusieurs choix et plus loin dans le texte j'ai plusieurs zones de texte que je souhaiterais remplir automatiquement en fonction de ce qui a été choisit dans la liste déroulante.

Si je choisis "choix 1" dans la liste déroulante, je veux dans toutes les zones de textes j'ai "texte 1"
Si je choisis "choix 2" dans la liste déroulante, je veux dans toutes les zones de textes j'ai "texte 2"
Etc..

Merci d'avance pour votre réponse,
Roro
Afficher la suite 

Votre réponse

2 réponses

Messages postés
15193
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 mai 2019
11695
0
Merci
Bonjour,

Il faut déjà qu'on sache quel type de liste déroulante et de zone de texte tu utilises. Il y en a au moins trois sortes. Explications ici :
http://faqword.com/index.php/word/formulaires-controles/911-le-point-sur-les-outils-de-formulaires

m@rina

J'utilise contrôle du contenu de zone de liste déroulante mais je peux utiliser autre chose si besoin.
Je veux simplement éviter de passer du temps à cliquer sur chaque liste.

Roro
Commenter la réponse de m@rina
Messages postés
15193
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 mai 2019
11695
0
Merci
Bonjour,

Supposant que le nom de balise de ton contrôle est "tag1", supposant que la zone de texte de texte se nomme "zdt1" , voici une macro qui va se déclencher à la sortie de la liste déroulante :

Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
If CC.Tag = "tag1" Then
montexte = CC.Range.Text
ActiveDocument.Shapes("zdt1").TextFrame.TextRange.Text = montexte
End If
End Sub


J'explique ici :
http://faqword.com/index.php/word/formulaires-controles/902

Evidemment, si tu as plusieurs zones de texte, tu peux faire une boucle, ou nommer chaque zone. Tout dépend de ton document.

m@rina
Roro_6768
Messages postés
2
Date d'inscription
mardi 30 avril 2019
Statut
Membre
Dernière intervention
2 mai 2019
-
Bonjour,

Après avoir nommer la balise er la zone de texte, je ne vois pas ou exécuter ma macro dans le word, je n'ai peut-être pas le bon type de liste déroulante pour lui dire d'exécuter ma macro en sortie.

Je ne sais pas non plus comment dire que dans la macro que j'ai plusieurs textes. J'ai 3 textes différents dans ma liste déroulante
(texte1 dans la liste --> texte 1 dans la zone ;
texte 2 dans la liste --> texte 2 dans la zone ;
texte3 dans la liste --> texte 3 dans la zone)
et malheureusement je ne m'y connais pas assez pour compléter le code

Encore merci pour ton aide.

Roro
m@rina
Messages postés
15193
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 mai 2019
11695 -
Bonsoir,

"je ne vois pas ou exécuter ma macro dans le word"
Je pense que tu n'as pas lu, ni même regardé le lien que je t'ai donné...

Concernant les 3 textes différents, la macro s'en fiche, puisqu'elle traite du résultat, c'est à dire du choix que tu as fait dans la liste.
Bonjour,

J'ai lu le lien seulement mais c'est la première fois que j'utilise des macros dans word donc je suis un peu perdu.

Quand vous dites "à la sortie du contrôle de contenu", voulez vous dire que quand je fais un choix dans ma liste déroulante celui-ci devrais s'afficher dans la zone de texte automatiquement ? Car si c'est le cas, je n'ai pas réussi a faire fonctionner le code. J'ai ouvert la fenêtre Microsoft Visual Basic où j'ai copié votre code en prenant soin de changer le nom de la balise de ma liste déroulante ainsi que le signet de ma zone de texte. J'ai enregistré et là je ne sais pas ce que je suis censé faire.

Aussi peut-être que je me suis mal exprimer, le texte qui se trouve dans la liste déroulante n'est pas forcément identique au texte que je souhaite avoir dans les zones de textes.

Roro
Commenter la réponse de m@rina