Extraire une liste à partir d'une autre liste selon critères

Bonjour,

j'ai une liste de de produits certains avec un stock à 0, d'autres à 1 et d'autres sup à 1

je voudrais que sur la feuil2 de mon fichier,

la liste de produits dont le stock=0 apparaisse à l'endroit destiné

Et idem en dessous la liste des produits à stock 1

et troisième liste avec les produits dont le stock est sup à 5

Merci de votre aide :)

12test-ruptures.xlsx (9.99 Ko)

Bonjour !

Une triple proposition (Formules matricielles, Power Query et TCD).

21test-ruptures.xlsx (29.65 Ko)

Bonjour à tous,

Et pour compléter, une proposition en VBA

Cdlt

merci JFL,

pourrais tu m'expliquer dans la formule ce que je dois adapter notamment sur la version matricielle .

=INDEX(_xlfn._xlws.FILTER(t_Stocks;t_Stocks[stock]=1;"");_xlfn.SEQUENCE(NB.SI.ENS(t_Stocks[stock];1));{1})

a quoi correspondent xfln, et t_Stocks notamment ?

Merci :)

merci Arturo

je vais devoir aussi me pencher sur VBA :) pour l'instant les formules matricielles restent ma préférence.

Bonjour de nouveau !

pourrais tu m'expliquer dans la formule ce que je dois adapter notamment sur la version matricielle .

=INDEX(_xlfn._xlws.FILTER(t_Stocks;t_Stocks[stock]=1;"");_xlfn.SEQUENCE(NB.SI.ENS(t_Stocks[stock];1));{1})

a quoi correspondent xfln, et t_Stocks notamment ?

La première formule matricielle proposée est :

=INDEX(FILTRE(t_Stocks;t_Stocks[stock]=0;"");SEQUENCE(NB.SI.ENS(t_Stocks[stock];0));{1})

Dans cette formule, "t_Stocks" est le nom donné au tableau que j'ai créé par simple transformation de la plage B2:C21 de votre Feuil1 en tableau structuré.

Votre "xlfn" est une valeur inconnue ! Elle résulte peut-être d'une mauvaise copie de ma formule initiale.

merci JFL, je comprends mieux, est il possible d'utiliser la plage B2:C21 plutot que de renommer le tableau (je demande ça car ce tableau sera une extraction hebdo et j'ai peur que celui qui fera la mise à jour galère

pour info j'avais testé la formule suivante

=SIERREUR(INDEX(Feuil3!$A$2:$A$151;PETITE.VALEUR(SI((Feuil3!$F$2:$F$151<1);(LIGNE(INDIRECT("1:"&LIGNES(Feuil3!$A$2:$A$151)))));1));"")

elle fonctionne bien, mais pour passer à la 2eme ligne, là je galère,

=SIERREUR(INDEX(Feuil3!$A$2:$A$151;PETITE.VALEUR(SI((Feuil3!$F$2:$F$151<1);(LIGNE(INDIRECT("1:"&LIGNES(Feuil3!$A$2:$A$151)))));2));"")

ça m'affiche une erreur ?

je vais devoir aussi me pencher sur VBA :) pour l'instant les formules matricielles restent ma préférence.

Il n'est jamais trop tard pour s'y mettre, d'autant plus que ça ouvre de grandes possibilités sans trop chercher à vouloir utiliser des formules complexes (bien que je sache qu'il faille donner la priorité à excel plutôt qu'au VBA).

Vu que vous préfériez conserver la plage B2:C21 plutôt que l'emploi d'un tableau structuré, j'ai refait le code en conséquence, libre à vous de l'utiliser ou pas.
Mais avant de dire "NON je ne veux pas de VBA", essayez le tout de même.

Cdlt

Merci Arturo.

je ne ferme pas la porte à VBApour l'instant les formules matricielles me semblent plus adapté car je travaille sur des fichiers importés et j'arrive plus facilement à adapter les formules que gérer avec des macros.

Mais je vais m'y mettre!

Bonne journée et encore merci

Bonsoir !

...... est il possible d'utiliser la plage B2:C21 plutot que de renommer le tableau (je demande ça car ce tableau sera une extraction hebdo et j'ai peur que celui qui fera la mise à jour galère ?

Une proposition sans référence au nom de tableau (c'est dommage ! )

Bonsoir à toutes et tous,

@jean_talus,

Une proposition a tester sans matricielle sur le fichier de @JFL que je salut au passage

Cordialement.

Bonsoir de nouveau !

Hello Mdo100 !

Une proposition a tester sans matricielle......

Je ne pense jamais à utiliser la fonction AGREGAT ! ...

Merci de cette piqure de rappel !

bonsoir MDO100,

je ne comprends pas j'ai adapté ta formule à mon tableau ça ne fonctionne pas... pourtant j'avais déja utlisé la fonction agregat sur un de mes autres tableaux...

tu pourrais regarder ce que j'ai fait comment boulette ?

Merci

Re jean_talus,

La colonne F de la Feuil1 est au format texte, dans ce cas il faut *1

Je te laisse faire le reste.

Cdlt

trop fort MDO ... pourtant j'avais fait clic droit et format cellule et j'avais cliqué sur nombre... mais en fait faut cliquer sur le triangle vert de la cellule et convertir... je ne sais pas pourquoi mais je saurai :)

Encore merci pour votre aide !!!!!!!!!!

Bonne soirée

Rechercher des sujets similaires à "extraire liste partir criteres"