index/equiv selon la ligne d'une cellule donnée

Guillaume.Boulay

XLDnaute Nouveau
Bonjour,
J'espère que vous allez bien.

Voici mon problème: J'ai un certain nombre de projets (colonne A) qui sont, chacun, associés à un spectacle. Il y a 10 spectacles en tout. Les colonnes de D à FI sont les semaines où les projets ont lieu.
Je veux faire en sorte que, pour chaque semaine, les projets qui ont lieu se classent, dans le haut, selon le spectacle (colonne C, de 1 à 10, dans les lignes du haut).

Il est normal que les spectacles 5 et 6 ne donnent aucune information, ils ne sont pas encore liés à des projets...

Comme cet onglet fait partie d'un fichier plus grand qui est appelé à changer très fréquemment et qui génère automatiquement un calendrier, je ne peux faire qu'un tri habituel. La fonction index/equiv me semble la plus adaptée, mais arrête à la première itération d'un spectacle. Et si possible, je préfère me passer de VBA... Je ne suis pas très à l'aise avec le vba... o_O

Merci de votre aide !
 

Pièces jointes

  • index-equiv_projets.xlsx
    115.1 KB · Affichages: 6
Dernière édition:

Guillaume.Boulay

XLDnaute Nouveau
Bonjour,
J'ai mis manuellement les réponses dans un second onglet, en rouge. ce sont celles qui n'ont pas été générées par le index/equiv. Pour le spectacle indiqué "1 et 2", c'est que certains projets peuvent présenter ces 2 spectacles (le projet "2012-12 Tournée Z", par exemple).

Merci.
 

Pièces jointes

  • index-equiv_projets v2.xlsx
    153.8 KB · Affichages: 3

job75

XLDnaute Barbatruc
Merci c'est maintenant très clair.

Alors entrez en D1 cette formule matricielle :
VB:
=SIERREUR(INDEX(D$13:D$49;PETITE.VALEUR(SI(($C$13:$C$49=$C1)*NBCAR(D$13:D$49);LIGNE(D$13:D$49)-12);1));"")
à valider par Ctrl+Maj+Entrée et tirer (ou coller) vers le bas puis à droite.

Ce n'est donc plus du INDEX-EQUIV, voyez le fichier joint.
 

Pièces jointes

  • index-equiv_projets(1).xlsx
    185.2 KB · Affichages: 3

job75

XLDnaute Barbatruc
Une formule matricielle plus simple, en D1 du fichier joint :
Code:
=SIERREUR(INDEX(D$13:D$49;EQUIV(1;($C$13:$C$49=$C1)*(D$13:D$49<>"");0));"")
Bonne nuit.
 

Pièces jointes

  • index-equiv_projets(2).xlsx
    181.7 KB · Affichages: 7

Discussions similaires

Réponses
6
Affichages
558
Réponses
4
Affichages
290

Statistiques des forums

Discussions
312 194
Messages
2 086 064
Membres
103 110
dernier inscrit
Privé