OVH Cloud OVH Cloud

Synchroniser une liste déroulante par rapport à une autre liste déroulante

11 réponses
Avatar
Sandra
Bonjour,

J'ai trouvé une solution intéressante dans la faq ici :
http://faqword.fr/index.php/wfaq/champs/283-est-il-possible-de-synchroniser-les-champs-dun-formulaire-jai-un-formulaire-avec-une-liste-deroulante-de-noms-ld1-et-une-liste-deroulante-de-nd-de-tel-ld2-je-veux-quen-selectionnant-le-nom-il-maffiche-le-nd-de-tel-correspondant-au-nom-de-la-pers.html

Mais mon problème est légèrement différent :

Je suis en train de faire un formulaire avec Word 2007 mais l'utilisateur
final exécute Word 2003, donc je suis un peu limitée.
J'utilise 2 listes déroulantes : dans la première une liste de Thèmes, et
dans la seconde devrait s'afficher les sous-thèmes du thème choisi dans la
1ère liste. L'utilisateur doit dont choisir parmi une proposition de
sous-thèmes pour le thème précédemment sélectionné

D'avance merci de vos lumières

Sandra

1 réponse

1 2
Avatar
Sandra
Génial ! Ca marche comme sur des roulettes !!!

Merci beaucoup !

Sandra

"Sandra" a écrit dans le message de
news:%
Ah d'accord...

Bon ben là je suis de corvée de courses... J'essaie plus tard et je te
tiens au courant ! Merci beaucoup Circé

Sandra

"Circé" a écrit dans le message de
news:
Sandra a écrit :
Merci de la réponse !!

Mais je n'y arrive pas :-(
Etant donné mon niveau débutant en VBA, voilà comment j'ai cru bon
d'adapter le code :



Effectivement, il y a quelques erreurs...
Set NoAction = ActiveDocument.FormFields("NoFiche").DropDown.ListEntries
NoFiche = ActiveDocument.FormFields("NoAction").DropDown.Value



Tu as inversé pour les deux :
Set NoAction = ActiveDocument.FormFields("NoAction").DropDown.ListEntries
NoFiche = ActiveDocument.FormFields("NoFiche").DropDown.Value

N'oublie de refaire ta première liste (NoFiche) qui a dû être vidée !

Circé
http://faqword.fr

Sub Synchro()
Dim NoAction As ListEntries, NoFiche As Byte
Set NoAction = ActiveDocument.FormFields("NoFiche").DropDown.ListEntries
NoFiche = ActiveDocument.FormFields("NoAction").DropDown.Value

NoAction.Clear
If NoFiche = 1 Then

With NoAction
.Add Name:="1.1 Observation"
.Add Name:="1.2 Soutien à la mise en oeuvre de PEE et PCT"
.Add Name:="1.3 Incitation à des comportements citoyens et
responsables"
End With
ElseIf NoFiche = 2 Then

With NoAction
.Add Name:="2.0 Toutes actions confondues"
End With
ElseIf NoFiche = 3 Then

With NoAction
.Add Name:="3.1 Accompagnement de l'efficacité énergétique et
maîtrise de la demande d'électricité"
.Add Name:="3.2 Accompagnement de la réhabilitation thermique des
bâtiments"
End With
End If
End Sub

En l'état : il me vide complètement la ld1 pour y mettre les 1.x, la ld2
reste à l'originale...

Merci de votre aide et explications

Sandra

"Circé" a écrit dans le message de
news:%
Bonjour Sandra,


Voici le code que tu peux mettre :

Sub Synchro()
Dim ld2 As ListEntries, ld1 As Byte
Set ld2 = ActiveDocument.FormFields("ld1").DropDown.ListEntries
ld1 = ActiveDocument.FormFields("ld2").DropDown.Value

ld2.Clear
If ld1 = 1 Then

With ld2
.Add Name:="item1"
.Add Name:="item2"
.Add Name:="item3"
End With
ElseIf ld1 = 2 Then

With ld2
.Add Name:="item4"
.Add Name:="item5"
.Add Name:="item6"
End With
ElseIf ld1 = 3 Then

With ld2
.Add Name:="item7"
.Add Name:="item8"
.Add Name:="item9"
End With
End If
End Sub

Mon hébergeur a un problème depuis ce matin, la faq est inaccessible !
:(

Circé
http://faqword.fr



Sandra avait énoncé :
Bonjour,

J'ai trouvé une solution intéressante dans la faq ici :
http://faqword.fr/index.php/wfaq/champs/283-est-il-possible-de-synchroniser-les-champs-dun-formulaire-jai-un-formulaire-avec-une-liste-deroulante-de-noms-ld1-et-une-liste-deroulante-de-nd-de-tel-ld2-je-veux-quen-selectionnant-le-nom-il-maffiche-le-nd-de-tel-correspondant-au-nom-de-la-pers.html

Mais mon problème est légèrement différent :

Je suis en train de faire un formulaire avec Word 2007 mais
l'utilisateur final exécute Word 2003, donc je suis un peu limitée.
J'utilise 2 listes déroulantes : dans la première une liste de Thèmes,
et dans la seconde devrait s'afficher les sous-thèmes du thème choisi
dans la 1ère liste. L'utilisateur doit dont choisir parmi une
proposition de sous-thèmes pour le thème précédemment sélectionné

D'avance merci de vos lumières

Sandra















1 2