Zone liste déroulante "dynamique" [Résolu/Fermé]

Signaler
Messages postés
48
Date d'inscription
mercredi 12 mars 2014
Statut
Membre
Dernière intervention
29 août 2014
-
Messages postés
48
Date d'inscription
mercredi 12 mars 2014
Statut
Membre
Dernière intervention
29 août 2014
-
Bonjour,

J'ai créé une zone de liste déroulante sur une feuille. Le choix est : Sélection, Oui ou Non.
Sur 3 autres feuilles, j'ai les mêmes zones de liste déroulante.
J'aimerais pouvoir faire en sorte que si je modifie la zone de liste déroulante sur les feuilles 2,3 ou 4 celles-ci se répercute sur la feuille 1.

Si je choisi "Non" en feuille 2, la feuille 1 affiche "Non". Par contre si ensuite, en feuille 3 je choisi "Oui", la zone en feuille 1 affiche "Oui" (mais pas la feuille 2 qui reste la même).

Est-ce possible de faire ça ?

Si oui comment ?

En vous remerciant d'avance.

Cordialement,

PG

5 réponses

Messages postés
48
Date d'inscription
mercredi 12 mars 2014
Statut
Membre
Dernière intervention
29 août 2014

Je précise que j'arrive à faire en sorte que deux listes soient identiques mais je n'arrive pas à lier 2 liste indépendante à une même.

Merci à vous.
Messages postés
48
Date d'inscription
mercredi 12 mars 2014
Statut
Membre
Dernière intervention
29 août 2014

C'est bon j'ai résolu mon pb. Merci
Messages postés
1798
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
252
Salut,

J'espère que tu as quelques connaissances en VB, parce que pour faire quelque chose dans ce genre moi j'utilise le code de programmation d'Excel =)

Je vais essayer de faire simple. Il faudra juste que tu convertisses ton document en xlsm (enregistrer sous, puis choisir xlsm).

1 - Cliques droit sur n'importe quel onglet de page du document (feuill1 par exemple) puis sélectionnes Visualiser le code
2 - Dans la partie de gauche, double clique sur la feuille "Feuill1" qui est dans VBAProject(NomDeTonDocExcel.xlsm)
3 - A droite, fais un copier coller de ce code :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Sheets("Feuill2").Range("F9")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then Sheets("Feuill1").Range("A1").Value = Sheets("Feuill2").Range("F9")
End Sub
A REMPLACER : Sheets("Feuill2").Range("F9") par la cellule de ta feuille 2 là où tu as ta liste déroulante Oui/Non ainsi que Sheets("Feuill1").Range("A1").Value par la cellule de ta feuille 1 là où tu veux que Oui/Non s'affiche en cas de modiffication.
4 - Tu fais le même code sur Feuill3 et Feuill4 en modifiant les bonnes cellules dans chaque nouvelle page.

Il faut activer les macros pour que ça fonctionne.
Messages postés
1798
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
19 décembre 2016
252
lol Moi qui vient de me casser la tête à te répondre.
Partages au moins ta solution :-)
Messages postés
48
Date d'inscription
mercredi 12 mars 2014
Statut
Membre
Dernière intervention
29 août 2014

Salut dsl pour le roman que tu as écrit^^.


Je n'ai pas à proprement parlé résolu le problème, la solution que tu donnes est la meilleure.
De mon côté j'ai juste opté pour un changement de mise en forme et j'ai donc plusieurs listes de zone déroulantes liées 2 à 2. Une liste feuille 1 liée à feuille 2, une autre feuille 1 liée à la feuille 3...etc...
Finalement ce choix n'est pas si mal pour constater le résultat précédent (du moins pour le cas de mon excel).

Merci à toi Sipherion ta solution pourrait quand même m'aider par la suite !

Cordialement,

PG