Liste conditionnelle Excel

Fermé
cogecom - 13 janv. 2012 à 15:35
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 19 févr. 2012 à 17:06
Bonjour,
Tout d'abord, je tiens à vous remercier pour votre aide.
J'avais deux questions par rapport aux listes conditionnelles dans Excel:
1) Faudrait-il qu'à chaque fois qu'on crée une nouvelle donnée dans la liste principale, créer une nouvelle liste portant ce nom?ou y'aurait-il un moyen pour que ça se fasse automatiquement et qu'il n'y aurait plus qu'à la remplir?
2) Quand on met la valeur "Indirect" comme condition de validation, celle ci ne fonctionne que si les plages correspondants aux noms des listes sont entrées directement (Ex: Liste1=Feuil1!$A$1) et non en utilisant la fonction "Décaler" pour éviter l'affichage des cellules vides. Dans ce cas, un message comme quoi la liste est erronée est affichée.

Merci pour vos éclaircissement précieux.


A voir également:

2 réponses

JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
14 janv. 2012 à 12:18
Bonjour à tous,

en utilisant le classeur de michel_m (onglet cascade_variable) sur les listes et les formules de J. Boisgontier (Liste sans doublons conditionnelle) ça peut donner ça : https://www.cjoint.com/?BAombMyO2cD

comme les liens cjoint ne durent pas, voici le contenu :

1) une table "2 colonnes" (en $C$5:$D$27) qui contient les données de validation principale en 1ère colonne (les étapes) et celles de la validation dépendante en 2ème colonne (les plats de l'étape). Il y a donc répétition des données en colonne 1 de cette table.
Chaque colonne sera nommée en dynamique (pour prendre en compte l'ajout/suppression d'associations) :
Liste_Etapes =DECALER(cascade_variable!$C$5,0,0,NBVAL(cascade_variable!$C$5:$C$4444),1)
Liste_Plats =DECALER(cascade_variable!$D$5,0,0,NBVAL(cascade_variable!$D$5:$D$4444),1)

2) la validation principale est en $H$5 et contient la formule =Etapes
la validation conditionnelle est en $H$6 et contient la formule =Plats_acssociés
Ces 2 derniers noms sont également dynamiques :
Etapes =DECALER(cascade_variable!$A$5,0,0,SOMMEPROD(--(cascade_variable!$A$5:$A$4444<>0)),1)
Plats_acssociés =DECALER(cascade_variable!$B$5,0,0,SOMMEPROD(--(cascade_variable!$B$5:$B$4444<>0)),1)

3) le contenu des ces listes est construit par les formules matricielles à recopier autant que nécessaire :
en $A$5 =INDEX($C:$C,MIN(SI(Liste_Etapes<>"",SI(NB.SI(A$4:A4,Liste_Etapes)=0,LIGNE(Liste_Etapes),LIGNES(Liste_Etapes)+LIGNE(Liste_Etapes)))))
en $B$5 =INDEX($D:$D,MIN(SI(Liste_Etapes=$H$5,SI(NB.SI(B$4:B4,Liste_Plats)=0,LIGNE(Liste_Plats),LIGNES(Liste_Plats)+LIGNE(Liste_Plats)))))

Cordialement
1
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
18 févr. 2012 à 22:06
Bonsoir,

je viens de récupérer ton fichier, et je tente de le tester sur le mien. Seulement, je n'arrive pas à l'appliquer correctement : https://www.cjoint.com/?BBsv7CrNFV1

Dans l'onglet Listes, je n'arrive pas à récupérer correctement le contenu de ce que tu présentes comme le point 3) .

J'ai bien créé mes listes de base, Liste_Championnats et Liste_Journée, puis la validation principale en F4 et la validation conditionnelle en G4.
Le problème est donc que je n'arrive pas bien à avoir en colonne C la liste de tous les championnats différents, et en colonne D les journées correspondant au championnat.

Cordialement.
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
Modifié par JvDo le 19/02/2012 à 01:02
Bonsoir,

ta formule en C2 devrait être :
=INDEX($A:$A,MIN(SI(Liste_Championnats<>"",SI(NB.SI(C$1:C1,Liste_Championnats)=0,LIGNE(Liste_Championnats),LIGNES(Liste_Championnats)+LIGNE(Liste_Championnats)))))
et en D2 :
=INDEX($B:$B,MIN(SI(Liste_Championnats=$F$4,SI(NB.SI(D$1:D1,Liste_Journées)=0,LIGNE(Liste_Journées),LIGNES(Liste_Journées)+LIGNE(Liste_Journées)))))

Cordialement
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
19 févr. 2012 à 12:00
Merci !!

Mais qu'est-ce que j'ai été nul pour passer à côté de ça ! Merci beaucoup !
Surtout pour la 2e où je suis impardonnable de mettre <> à la place de =

Bonne journée.
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
19 févr. 2012 à 17:06
Pas si nul que ça! ou alors on est deux.
j'ai mis 1/2h à trouver.

Je ne comprenais pas pourquoi tes formules ne fonctionnaient pas...
Je suis donc passé sur les erreurs de saisie sans les voir tout en les cherchant!!
Comme quoi...
0
Raymond PENTIER Messages postés 58404 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 2 mai 2024 17 097
14 janv. 2012 à 05:30
Bonjour.

Question 1 : Non, pas de solution automatique (à part une éventuelle macro).
Question 2 : N'ayant pas ton fichier, je n'ai pas pu suivre ton explication ...
0