Monique (ou qui d'autre ?) - Liste dynamique

  • Initiateur de la discussion Petipeton
  • Date de début
P

Petipeton

Guest
Bonjour !

J'aurais besoin de contacter Monique pour une explication sur son fichier de listes dynamiques.
En privé ou sur le forum, pas de préférence, mais un gros besoin d'aide.
Merci à Monique ou à qui d'autre se sent à l'aise pour me répondre !

A plus tard.
 
M

Monique

Guest
Bonjour,

Je ne suis que de passage.
Ce sera mieux ce soir ou demain.
Dans quel post as-tu trouvé le fichier dont tu parles ?
Sinon, est-ce que tu as téléchargé le "Coffret des Listes", compil faite par Celeda, ici :
<http://www.excel-downloads.com/html/French/fichiers/programmation-date_maj-2.htm>
Tu y trouveras plein d'exemples de listes.
 
P

Petipeton

Guest
Oui, justement, c'est dans ce "Pack" que j'ai trouvé ton fichier qui me pose problème.

En effet, mon souci à moi est de faire dépendre une liste déroulante de ce qui est saisi dans la colonne précédente. Je ne souhaite pas déposer mon fichier sur ce forum, mais je peux te le faire parvenir si tu respecte son aspect confidentiel.

Mon souci dans ton fichier est le suivant : je ne comprend pas la raison d'être des colonnes E à H dans la feuille Source... ni la formule saisie, de fait, dans la validation.

Merci beaucoup de ton aide et du temps que tu consacres à ce forum pour les Nullos futur As comme moi (futur As grâce aux gens comme toi).

Petipeton
 
M

Monique

Guest
Re,

D'accord, j'ai vu la liste dont tu parles.
Les colonnes E F G H de la feuille "Source" servent à ranger en haut de colonne les titres de la colonne C qui appartiennent au chanteur de la colonne B dont le nom est sélectionné dans la liste déroulante de la feuille 2 en C1
Sans ces 4 colonnes, la liste des chansons serait pleine de trous dans la liste de validation de la feuille 2 en F1
En fait, ces 4 colonnes ne sont là que parce que les données ne sont pas rangées.

La formule de la liste de validation en F1, je viens de la simplifier, on peut taper ça :
=DECALER(liste_chanson;0;0;NB.SI(liste_chanson;"<>"&""))
ou bien ça :
=DECALER(liste_chanson;;;NB.SI(liste_chanson;"<>"&""))

liste_chanson, c'est le nom donné à la fameuse colonne H, elle va de H2 à H24
H2:H24 peut ne contenir que 3 ou 4 noms, en haut, et tout le reste est vide.
Cette formule Decaler sert à ce qu'il n'y ait pas de vides en fin de liste, dans la liste de validation.
Tu n'auras que les noms des chansons.

La formule prend toute la plage de H2 à H24, avec un décalage de 0 ligne, de 0 colonne, une hauteur égale au nombre de valeurs contenues dans la plage choisie.
Si NB.SI(liste_chanson;"<>"&"") est égal à 4 par exemple,
la formule renvoie les 4 premières cellules de cette colonne.

Mais on a fait mieux, depuis, sur le forum.
Est-ce que tu as vu ces fichiers :
<http://www.excel-downloads.com/html/French/forum/messages/1_92307_92307.htm>
Une fois ton choix fait dans la liste de validation, tu as un 2è choix dans la même liste de validation, 2è choix dépendant du 1er
Mais une fois le 2è choix fait, le 1er n'apparaît plus, et tu veux peut-être le garder affiché

<http://www.excel-downloads.com/html/French/forum/messages/1_81151_81151.htm>
Une fois ton choix fait dans une 1ère liste de validation, tu as un 2è choix dans une autre liste, le 2è choix dépendant du 1er
Et ça continue : le 2è choix engendre un 3è

Tu as la même chose ici (2 listes seulement, pas 3) dans le fichier "ListesSney.zip" :
<http://www.excel-downloads.com/html/French/forum/messages/1_86620_86620.htm>
 
M

Monique

Guest
Re,

Dans le fichier "Monique_sous_listes_chanteurs.xls"
Dans la feuille "Source", on peut faire une seule colonne à la place des colonnes E F G H
En H2 :
=SI(NB.SI(nom;choix_nom)=0;"";INDEX(C$1:C$24;MIN(SI(nom<>"";SI(nom=choix_nom;SI(LIGNE(nom)>0;LIGNE(nom)))))))
Formule matricielle, à valider par ctrl, maj et entréée
En H3 puis copier coller jusqu'en H24 :
=SI(NBVAL(H$2:H2)>=NB.SI(nom;choix_nom);"";INDEX(C$1:C$24;MIN(SI(nom<>"";SI(nom=choix_nom;SI(LIGNE(nom)>EQUIV(H2;C$1:C$24;0)+1;LIGNE(nom)))))))
Formule matricielle, à valider par ctrl, maj et entréée

Et tu supprimes les colonnes E F G
Tu effaces aussi la colonne A

Tu as du coup une formule à changer en feuille 2.
En B5, puis tu copies jusqu'en B14 :
=SI(NBVAL(B$4:B4)>MAX(A$5:A$14);"";INDEX(liste_chanson;LIGNES(B$5:B5);0))
 

Discussions similaires