Bonjour,
Il vaut mieux en effet donner le contexte entier dès le début car j'aurai peut être été prendre une solution VBA. Cependant par formule c'est possible aussi en partant du principe que le Type est prioritaire sur le numéro (donc en classant par Type puis numéro) mais la formule se complique et je ne prendrais pas forcément le temps de l'expliquer mais le principe reste le même. On décale une plage :
=DECALER(INDIRECT("A" & EQUIV(Feuil1!$C$3;DECALER(INDIRECT("C"&EQUIV(Feuil1!$A$3;LISTE[Type];0)+6;VRAI);;;NB.SI(LISTE[Type];Feuil1!$A$3));0)+EQUIV(Feuil1!$A$3;LISTE[Type];0)+5;VRAI);;;SOMMEPROD((LISTE[Type]=Feuil1!$A$3)*(LISTE[Numéro]=Feuil1!$C$3)))
Partons du principe où A3 = o et C2 = 3.
Le 1er INDIRECT me sert à connaître d'où part ma plage de recherche où je vais chercher mon second critère. Dans ce cas, INDIRECT me renvoie la référence C7 que je décale d'une hauteur égale à NB.SI(LISTE[Type];Feuil1!$A$3) soit 9 donc la plage de recherche du second critère s'étend de C7 à C15.
Je cherche alors dans cette plage où apparaît mon numéro selon le même principe que vu précédemment.
Je décale alors d'une hauteur via SOMMEPROD car NB.SI ne me permet que de calculer avec un seul critère, hors ici il me faut la combinaison de 2 critères
Il faut voir à l'usage si la formule tiens bon mais d'après mes tests, si le tri de la table est correctement réalisé alors il n'y a pas de raison que ça ne fonctionne pas.
Cdlt,