Cherche une formule pour extraire des données d'un tableau

Bonjour à tous et à toutes, j me présente Ahonen, 23 ans, responsable qualité dans l'agro alimentaire.

Je vous explique mon probleme:

Je mets en place un ysteme de tracabilite et j'ai un petit probleme :

imaginons le fichier suivant de production:

Colonne A : Reference produit A,B,C,D

Colonne B : code de tracabilité : 111 ( 1 = premier jour de la semaine, 1 = premiere semaine, 1 = premier mois), 211....

Colonne C : Quantité produite : 1000, 15000, 2000....

Colonne D : zone de stockage

En fait, il faut que l'on respecte un FIFO ( First In, First Out)

J'aimerai pouvoir extraire les données de ce tableau, c'est a dire, si je demande une reference, je veux toutes les lignes du tableau ayant le code produit choisi et avec la tracabilité pour respcter le FIFO.

Je ne veux pas utiliser le tri automatique. J'ai deja essayer RECHERCHEV et plein d'autre formule mais je n'arrive pas a extraire toutes les lignes ayant la meme reference produit.

Pouvez vous m'aider?

Merci d'avance !

Bonjour ahonen et bienvenue sur le forum,

Avec un filtre ça doit être possible.

Peux-tu joindre un bout de fichier avec quelques données, anonymisées si besoin ?

Bonjour et bienvenue

Merci d'éditer ton titre.

Extrait de la charte :

choisissez un titre suffisamment explicite pour votre nouveau sujet (évitez les titres trop vagues tels que "besoin d'aide c'est URGENT" ou encore "j'ai un problème"),

Amicalement

Nad

Ou je peux joindre un morceau du fichier, mais comment on fait ?

Tu prépares une réponse et en dessous de celle-ci tu as l'option suivante :

ajouter un fichier

Nad t'avais également demandé d'éditer ton titre de manière à être plus clair.

Salut

Pardon, je n'avais pas internet ces derniers jours, voila je joins le fichier avec ma demande

Je veux :

- Si je donne une tracabilité : je veux avoir tous les références qui vont avec cette tracabilité ainsi que les autres informations qui vont avec.

- Si je donne une référence : je veux avoir toutes les tracabilités qui vont avec la référence ainsi que les autres informations qui vont avec.

J'utilise la fonction rechercheV pour renseigner les informations mais je n'arrive pas à extraire les données sur plusieurs lignes si je demande une réf ou une tracabilité.

Merci d'avance

Ahonen

137trac-forum.zip (6.56 Ko)

Bonjour ahonen,

Un filtre élaboré est ce qu'il te faut.

Va dans Données -> Filtre élaboré :

  • Action : filtrer sur place
  • Plages :$A$5:$J$23
  • Zone de critères : $A$29:$J$30

Si tu rencontres des problèmes reviens.

Vba-new,

Merci de ta réponse mais je ne peux pas utiliser le filtre, meme si il est élaboré

pk ?

Tout simplement par ce que j'ai besoin plusieurs fois (100 fois par jour) des données particulieres, or avec un filtre, il faut changer tout le temps la formule ou plutot le filtre,

Moi, j'aimerai savoir si il est existe une formule qui me permet d'extraire directement toutes les lignes du 1er tableau, quand je le veux à partir d'une reference article.

Merci d'avance !

Bonjour

ahonen, regarde si le fichier joint te convient.

282ahonen.zip (10.41 Ko)

Amicalement

Nad

Bonjour

Ou, sans matricielle, avec un colonne supplémentaire à masquer

Cordialement

299trac-forum.zip (7.66 Ko)

Bonsoir à tous,

Solution VBA, pour les non-allergiques !

C'est un filtre élaboré un peu spécial, vu la structure de la feuille.

Amicalement

Claude

1'151ahonen-filtre.zip (12.84 Ko)

Merci Amadeus, tu as trouvé la solution de mon probleme, maintenant, je vais essayer de comprendre la formule pour l'utiliser correctement.

A mois que tu puisses me faire des détails...ce qui serai sympa.

Merci Dubois, j'aime bien ce que tu as fait, par contre je ne peux pas l'utiliser si je change ma référence !

PK ?

Peux tu me renseigner d'avantage.

Merci d'avance.

Ahonen

Bonjour,

par contre je ne peux pas l'utiliser si je change ma référence ! PK ?

Comprends pas, c'est quoi PK ?

Claude

ah excuse moi : PK = pourquoi ?

PK quoi ?

quel est le problème ?

cite un exemple

Bonjour,

Dans le fichier que tu as joins, tu demande:

Je cherche à avoir, à partir d'une tracabilité donnée, toutes les tracabilités du tableau ainsi que toutes les informations qui vont avec.

C'est ce que je fais

Maintenant si tu veux filtrer par N° de Réf, dis-le en précisant quelle colonne (la "F" ?).

le principe sera le même

à te relire

Claude

Claude,

Désolé de passer pour un boulet, mais peux tu m'expliquer en détial ce que tu as fait, merci d'avance !

Je ne comprends pas du tout comment tu as fait !

Ahonen

re,

Je veux bien t'expliquer, mais avant faudrait savoir si le résultat est bon !

Claude

Bonjour

Comme toujours, une explication des formules imbriquées est un peu longue. Mais, si un point t'échappe, nous pourrons y revenir

Les fonctions de recherche, RECHERCHEV que tu utilisais, ou INDEX-EQUIV s'arrêtent à la premiere ligne contenant le résultat recherché.

Pour obtenir les résultats suivants avec la méthode utilisée dans mon fichier:

On cherche la première référence trouvée par INDEX-EQUIV.

Pour 10112, la premiére ligne contenant 10112 est la ligne 7 qui compte tenu du fait que les données commencent à la ligne 6 correspond en fait à la ligne 2 de la "table" contenant les données. table=$A$6:$J$24.

Première ligne

Ex en A30

=SI($K30="";"";INDEX(DECALER(table;$K29;);EQUIV($B$30;DECALER($B$6;$K29;):$B$24;0);COLONNE()))

oublions pour l'instant le début. Pour rechercher dans la table la première valeur correspondant à 10112, on écrit:

=INDEX(table;EQUIV($B$30;$B$6:$B$24;0);COLONNE())) 

qui renvoie 361000002 et là se termine la recherche. Impossible donc de trouver les résultats suivants correspondants à 10112.

L'astuce consiste à redemarrer la recherche après le résultat trouvé, donc à DECALER le champ de recherche pour trouver la valeur suivante, et ici intervient le No de ligne de la table donnant le résultat.

Donc, en première ligne, nous aurions en K30 pour chercher la première ligne qui contient 10112

=LIGNE(INDEX(table;EQUIV($B$30;$B$6:$B$24;0);2)) 

qui renvoie 7 soit la ligne 2 de la table comme indiqué au début.

Nous éliminons donc les 2 premières lignes de la table et commençons la nouvelle recherche en A31 non plus sur $A$6:$J$24, mais sur $A$8:$J$24

La définition de cette nouvelle table de recherche est donnée par la formule

=DECALER(Table;2;)

et le résultat cherché est dans le vecteur

=DECALER($B$6:$B$24;2;)

soit

=DECALER($B$6;2;):$B$24

et ainsi de suite

donc en A31, pour trouver la seconde valeur correspondant à 10112 (si elle existe)

=INDEX(DECALER(table;2;);EQUIV($B$30;DECALER($B$6;2;):$B$24;0);2)

Comme le décalage à appliquer est en K30, nous écrivons

=INDEX(DECALER(table;$K30;);EQUIV($B$30;DECALER($B$6;$K30;):$B$24;0);2))

et en définitive

=SI($K31="";"";INDEX(DECALER(table;$K30;);EQUIV($B$30;DECALER($B$6;$K30;):$B$24;0);COLONNE()))

parce que en K31, nous avons prévu que s'il n'y a plus de ligne correspondant à 10112, le résultat est rien ("")

Cordialement

Bonjour tout le monde,

Je découvre qu'on peut faire un filtre élaboré avec des formules excel, sans code VBA, je suis épaté! Merci Amadeus, et surtout merci pour les explications! J'ai passé une heure à essayer de comprendre seul, mais... pas possible:)

J'ai fait de même sur le fichier ahonon.Xls envoyé par Nad, et, sans faire de délation , j'ai vu qu'il n'était pas fiable. Je préfère le préciser au cas où qqn croirait que la solution fonctionne sans faire tous les tests.

Dans cette solution, l'utilisation du recherchev en colonnes D:J implique que seule la première occurence de l'argument recherché (colonne C) soit traitée...

  • Même s'il y a plusieurs commandes de la référence de traçabilité recherchée (cellule B30), ce qui pose un problème de fiabilité, puisqu'il manque des commandes pour une ref de traçabilité recherchée.
  • Et.... Même lorsque le client a acheté plusieurs références de traçabilité. dont au moins une commande située sur un n° de ligne inférieur à celle(s) que la formule est censée trouver. ce qui pose un pb tout aussi grave, car les résultats rendus sont ceux d'une autre commande concernant une autre ref de traçabilité.
Nad, avec une formule matricielle, y aurait-il une solution qui fonctionne ? Si c'est le cas, je serai intéressé de comprendre comment ça pourrait marcher.

Bien à vous, superstars d'Excel

JRG

Rechercher des sujets similaires à "cherche formule extraire donnees tableau"