Générer une liste à partir d'une plage de données selon conditions

Bonjour,

Je cherche à finaliser un petit fichier qui me sert à gérer les tours de parole lors de réunions animées. L'idée est de pouvoir afficher les prochains intervenants en me basant sur une liste que je remplis au fur et à mesure des demandes de parole. L'affichage indique également le nombre de prises de parole déjà effectuées et le temps de parole consommé (ça ça va, j'ai réussi à le faire :D).

- Ma plage "nom" contient donc le nom des intervenants;

- Ma plage "temps" contient le temps qu'aura duré chacune de leurs interventions;

Je cherche à créer une formule qui me donnera dans les cases B8 à B17 les 10 premières entrées de la plage "nom" qui respectent ces critères : la case ne doit pas être vide, et la valeur "temps" correspondant sur la ligne doit être égale à 0.

En théorie, pas besoin de chasser les doublons car les intervenants ne redemandent pas la parole tant qu'ils ne l'ont pas obtenue.

J'ai tenté tout un tas de variations autour d'INDEX, mais je pense que je ne dois pas comprendre correctement le fonctionnement de ces formules. Est-ce que quelqu'un pourrait m'aider? :) J'ai mis mon fichier en PJ à tout hasard, il contient trois noms entrés manuellement en B8 B9 et B10 c'était pour tester la validité de mes autres formules.

Merci d'avance pour vos lumières !

Greg/Da S.

Bonsoir Da_Schtroumpf,

Une proposition avec un TCD.

Cordialement.

14tour-de-parole.xlsx (25.21 Ko)

Hello Zebulon2!

Tout d'abord, merci mille fois de ton aide. J'essaie de comprendre comment le croisé dynamique me permet d'obtenir le résultat escompté, mais je n'y parviens pas :/.

Je vais tenter d'expliciter ma requête et d'expurger mon tableau de toute entrée parasite (il est donc en PJ).

A l'intérieur des volets verrouillés, il y a un tableau (A7:E17). Les cases grises sont déjà gérées par des formules qui fonctionnent bien et me permettent d'afficher le numéro d'ordre si quelqu'un demande la parole, de comptabiliser son nombre d'interventions précédentes et son temps de parole avant l'inter demandée.

Mon souci se situe sur les cases bleues (B8:B17). Je souhaiterais afficher de manière dynamique les 10 premiers noms d'une liste (plage : nom) remplissant un critère (cellule dans la plage "temps" ayant une valeur de 0).

Les plages "nom" et "temps" se situent sous mon volet verrouillé. Vous remarquerez que les intervenants ayant parlé (donc dont la case "temps" est >0) sont en vert, et ceux n'ayant pas parlé ("temps"=0) sont en rouge. Je voudrais ne faire apparaître dans mes cases bleues QUE les noms qui sont en rouge (ceux où "temps"=0).

Dans mon exemple, Bastien, Joséphine et Greg. Et l'idée serait que si je viens ajouter un nom à cette liste, par exemple Antoine, il soit automatiquement ajouté à ma liste bleue (B8:B17). Et si j'ajoute du temps de parole à Bastien, il disparaît alors de ma liste bleue (B8:B17), remontant tous les autres noms d'un cran.

Je suis désolé de vous embêter avec ça. Je me suis attaqué à un trop gros morceau, et je n'arrive pas à trouver mon chemin.

Bonjour,

Voici la formule magique :

En B8 :

=SI(INDIRECT(ADRESSE(EQUIV(0;temps;0)+LIGNE(A18);4);VRAI)=0;"";INDIRECT(ADRESSE(EQUIV(0;temps;0)+LIGNE(A18);4);VRAI))

en C8 :

=SI(B8="";"";NB.SI(nom;B8)-1)

J'ai mis -1 car une intervention prévue comptait déjà comme une intervention avant. Ça ne me paraissait pas logique. Tu as juste à enlever le -1 si tu veux que le nombre d'interventions prenne en compte les interventions passées et à venir.

Woah, merci JoyeuxNoel !

J'essaie de comprendre la formule, et en fait elle est tellement plus simple que ce que j'essayais de faire avec Index... Merci bcp.

Et tu as parfaitement raison pour le décompte des interventions, j'aurais du penser au -1 :p

N'hésite pas à revenir sur le post si tu veux des précisions sur certains points de la fonction.

Sinon,

Rechercher des sujets similaires à "generer liste partir plage donnees conditions"