Plage de sélection dynamique

Bonjour à tous !

Après trois jours à m'arracher les cheveux, je n'en ai plus... donc je me tourne vers la super excel/sheets communauté !!

Ce que je cherche à faire : une liste de tous les plats dont les fiches techniques se trouvent sur la partie gauche du tableur (colonnes A:E)

La liste se trouve en colonne G. La formule en G1 est la suivante :

=ARRAYFORMULA(SI(LIGNE($G1:$G)=1;$A$1;DECALER(RECHERCHEX("Préparation :";A1:A;A1:A);-1;0)))

Pour moi, elle est bonne sauf que... j'ai besoin que la partie surlignée soit évolutive en fonction de la ligne précédente. Il faut donc que je récupère la ligne précédente et que je la décale de 2 lignes vers le bas pour récupérer le début de ma plage de sélection afin que la première itération "Préparation :" soit celle qui m'intéresse et me permette ainsi de récupérer le bon plat.

Exemple : je suis en G2, je récupère le nom du plat en G1 "Spaghetti bolognaise" et le recherche dans la colonne A. Je décale mon résultat de 2 lignes pour atteindre A3.

Ca me permettra donc de rechercher "Préparation :" en A3:A, de le décaler de -1 ligne et d'obtenir "Sole meunière" et ainsi de suite pour toutes les lignes.

PS : Petite contrainte, j'ai besoin de fonctions compatibles avec ARRAYFORMULA car ma liste doit perdurer si j'intercale une ligne dans mes fiches techniques à gauche. Donc adieux les INDIRECT...

PS2 : Si on peut éviter les scripts/macros, ça serait top !

Merci à tous

https://docs.google.com/spreadsheets/d/1IP-vn6CZvibeeN9B2AjaKiKCwxiWPXbrmFxgqjeboRU/edit?usp=sharing

Bonjour,

Si j'ai bien compris, en I1 je vous ai mis la formule ci-dessous

=LET(vals;REDUCE("";A:A;LAMBDA(acc;v;if(not(iserror(SEARCH("préparation";v)));VSTACK(acc;OFFSET(v;-1;0));acc)));
FILTER(vals;vals<>""))

Ça scan la colonne A, quand on trouve une cellule qui contient "préparation" on ajoute à notre liste de résultat la cellule se trouvant au dessus (nom du plat). Puis on filtre pour retirer les valeurs nulles.

Waouh ! J'ai pas tout compris mais ça marche ! Ca va me permettre d'aller gratter un peu ces fonctions que je ne maitrise pas encore...

Merci beaucoup saboh1617 !!

Merci pour votre retour. Content d'aider.

Le cœur de cette formule c'est la fonction REDUCE. Je vous invite à regarder/chercher en ligne l'aide Excel également car le fonctionnement et la syntaxe sont identiques, et j'ai trouvé beaucoup plus d'info qu'en cherchant pour GoogleSheets.

J'avais écrit une petite explication ici aussi. Formule différente bien entendu, mais les blocs de construction sont les mêmes.

Rechercher des sujets similaires à "plage selection dynamique"