Listes déroulantes égales
Foreva
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
Bonjour à toutes et à tous :)
J'aimerai avoir deux listes déroulantes qui ont les mêmes champs et qui se mettent à jour en cascade, c'est à dire lorsque j'en change un, les autres se changent de la même façon. Je n'ai rien trouvé sur le net susceptible de m'aider.
Merci ! ^^,
J'aimerai avoir deux listes déroulantes qui ont les mêmes champs et qui se mettent à jour en cascade, c'est à dire lorsque j'en change un, les autres se changent de la même façon. Je n'ai rien trouvé sur le net susceptible de m'aider.
Merci ! ^^,
A voir également:
- Listes déroulantes égales
- Listes déroulantes excel - Guide
- Listes déroulantes en cascade excel - Guide
- Suppression listes déroulantes ✓ - Forum Excel
- Listes déroulantes dynamiques? - Forum Word
- Problème listes déroulantes bloquées - Forum Excel
3 réponses
Bonjour
Peux tu être plus précis ?
De quel type de liste déroulante parles tu ?
Quelle est ta version de Word ?
Tu veux changer le choix fait par l'utilisateur ou bien l'ensemble des items de la liste ?
m@rina
Peux tu être plus précis ?
De quel type de liste déroulante parles tu ?
Quelle est ta version de Word ?
Tu veux changer le choix fait par l'utilisateur ou bien l'ensemble des items de la liste ?
m@rina
Bonjour,
Désolée, mais je n'ai pas de réponses car déjà les événements dans Word sont rares, donc il n'y en a pas pour ce genre de choses.
m@rina
Désolée, mais je n'ai pas de réponses car déjà les événements dans Word sont rares, donc il n'y en a pas pour ce genre de choses.
m@rina
Bonjour,
salut m@rina, pas encore en vacances ? :-)
Une tentative.
Je ne connais pas vraiment vba word donc pas trop d'exigences svp... ;-)
J'ai choisi la liste déroulante 'héritée' car elle permet une gestion facile de sa mise à jour, et permet d'appeler une macro en sortie.
Par contre ce que je me suis aperçu à la fin (je ne connais pas word non plus :-)) c'est qu'il faut verrouiller le formulaire pour que les listes soient actives.
A partir de ce moment seuls les éléments du formulaire sont modifiables.
Pas sûr que ça t'ailles (?!?)
Les activeX perdent leur valeurs à la fermeture et obligerait à modifier la liste en dur dans le code. Pas terrible non plus...
Explications dans le fichier.
https://mon-partage.fr/f/h734PS5X/
eric
salut m@rina, pas encore en vacances ? :-)
Une tentative.
Je ne connais pas vraiment vba word donc pas trop d'exigences svp... ;-)
J'ai choisi la liste déroulante 'héritée' car elle permet une gestion facile de sa mise à jour, et permet d'appeler une macro en sortie.
Par contre ce que je me suis aperçu à la fin (je ne connais pas word non plus :-)) c'est qu'il faut verrouiller le formulaire pour que les listes soient actives.
A partir de ce moment seuls les éléments du formulaire sont modifiables.
Pas sûr que ça t'ailles (?!?)
Les activeX perdent leur valeurs à la fermeture et obligerait à modifier la liste en dur dans le code. Pas terrible non plus...
Sub maj_Liste() Dim source As Object, liste() As String, ObjF As FormField Dim nom, nb As Long, i As Long 'Stop Set source = Selection.FormFields nom = Split(source(1).Name, "_") If LCase(Left(nom(0), 7)) = "listegr" And nom(1) = "1" Then 'il s'agit de la liste 1 d'un groupe de listes nb = source(1).DropDown.ListEntries.Count ' nombre d'items de la liste maitre ' recup items de la liste 1 ReDim liste(1 To nb) With source(1).DropDown For i = 1 To nb liste(i) = .ListEntries(i).Name Next i End With For Each ObjF In ActiveDocument.FormFields With ObjF.DropDown If LCase(Split(ObjF.Name, "_")(0)) = LCase(nom(0)) Then ' même groupe de liste .ListEntries.Clear ' vider la liste ' on copie les items dans la liste For i = 1 To nb .ListEntries.Add Name:=liste(i) Next i End If End With Next ObjF End If End Sub
Explications dans le fichier.
https://mon-partage.fr/f/h734PS5X/
eric
Hello Eriiic
Merci de prendre le relais ! Je suis déjà partie en vacances et déjà revenue (après un mois complet quand même) ! ;)
Voilà pourquoi j'ai le cerveau un peu embrouillé.
Effectivement les champs hérités permettent le lancement de macro à la sortie, mais c'est lourd, car il faut, comme tu le soulignes, protéger le document, et donc le déprotéger à chaque modification du champ.
Sinon, faut faire une macro qui modifie toutes les liste déroulantes, mais il faudra la lancer, ce ne sera pas sur événement.
m@rina
Merci de prendre le relais ! Je suis déjà partie en vacances et déjà revenue (après un mois complet quand même) ! ;)
Voilà pourquoi j'ai le cerveau un peu embrouillé.
Effectivement les champs hérités permettent le lancement de macro à la sortie, mais c'est lourd, car il faut, comme tu le soulignes, protéger le document, et donc le déprotéger à chaque modification du champ.
Sinon, faut faire une macro qui modifie toutes les liste déroulantes, mais il faudra la lancer, ce ne sera pas sur événement.
m@rina
Je ne veux donc pas changer le choix fait par les utilisateurs, mais bien les items de mes listes (pour ne pas avoir à les changer sur chacune de mes listes qui sont égales, et ce à chaque modification)
Ps : j'utilise ces listes là, mais je ne suis pas contre l'usage des zones de listes déroulantes (contrôle ActiveX).
J'ai essayé de par exemple leur donner le même nom mais ça ne fonctionne pas.
Si vous trouvez une solution ce serait carrément génial ^^,