Bonjour,
Tu as raison sur un point : il y a de multiples manières d'arriver au même résultat (et peut-être la proposition de Thrrybo de travailler avec un TCD était-elle moins traumatisante pour les neurones ?)
La plage nommée "semaine" permet -en fonction de ce qui est sélectionné en B1 de la feuille "Semaine"- de définir une plage de cellules (en feuille "BASE") correspondant à une des colonnes A1, B1, C1. On aurait pu écrire la formule de cette manière :
=DECALER(BASE!$B$3;;EQUIV(Semaine!$B$1;BASE!$C$2:$E$2;0);NBVAL(BASE!$B$3:$B$26))
Le '20' que tu avais relevé hier est remplacé par NBVAL(BASE!$B$3:$B$26) on n'étend ainsi la plage que sur le nombre d'articles en colonne B.
Si tu avais défini un tableau pour la plage en feuille BASE, on aurait encore pu s'y prendre autrement ...
Si A1 est l'élément sélectionné en B1 de la feuille Semaine, la plage nommée semaine correspond à la zone encadrée de vert ci-dessous :
Les formules pour les colonnes produit et quantité ont en commun qu'elles utilisent INDEX(), PETITE.VALEUR() et SI()
Avec la partie SI(Semaine>0;LIGNE(Semaine)-2), c'est un peu comme si on utilisait "virtuellement" une colonne supplémentaire pour afficher les n° de lignes ou des quantités figurent :
Ces chiffres correspondent au n° de ligne dans la feuille. Nous avons besoin de la position de chaque élément dans la plage $B$3:$B$26. C'est la raison d''être du -2 ! Si tes données commencent en A13 (tu auras vraisemblablement un '-12')
PETITE.VALEUR permet simplement d'aller chercher (parmi ces n° de lignes) la plus petite valeur au rang 1, puis au rang 2, etc.
Pour comprendre, la seule solution est de "décomposer" la formule ... et ça prend du temps, inévitablement ! (mais les macros aussi, pareil pour les TCD et également pour Power Query ... c'est le côté passionnant d'Excel !)
N'hésite pas, si ce n'est pas encore clair !