fusion de liste un peu spécial

maguetlolo

XLDnaute Junior
Bonjour à tous

je reviens vers vous pour un probleme de fusion de liste
Imaginons cette liste:

Date / Heure / Défaut / N° d'article
08/01/08 / 14:15:15 / 100 / 031765414698756357
08/01/08 / 14:35:24 / 150 / 031765414698756357
08/01/08 / 14:45:01 / 245 / 031765414698756357
08/01/08 / 18:45:24 / 154 / 031765414698756357
08/01/08 / 20:15:12 / 214 / 031765414698756357

et imaginons cette autre liste :

Date / Heure / processus / N° d'article

08/01/08 / 14:10:12 / entrée / 031765414698756357
08/01/08 / 18:40:10 / sortie / 031765414698756357


Il me faut fusionner ces deux listes afin de savoir si les défauts concernant le processus d'entrée de l'article en stock ou le processus de sortie et donc obtenir :


Date / Heure / Défaut / N° d'article / processus
08/01/08 / 14:15:15 / 100 / 031765414698756357 / entrée
08/01/08 / 14:35:24 / 150 / 031765414698756357 / entrée
08/01/08 / 14:45:01 / 245 / 031765414698756357 / entrée
08/01/08 / 18:45:24 / 154 / 031765414698756357 / sortie
08/01/08 / 20:15:12 / 214 / 031765414698756357 / sortie

A savoir bien sur qu'il peut y avoir plusieurs jours entre l'entrée et la sortie de l'article ou bien quelques heure, ou carrément quelques minutes. et également, dans ma vrai liste, il peut y avoir jusque 50 000 N° d'article (soit 50 000 lignes)
Je me doute que je suis peut-être un peu gourmand, mais sait'on jamais certains disent que l'on peut tout faire en VBA!!
 
Dernière édition:

JHA

XLDnaute Barbatruc
Re : fusion de liste un peu spécial

Bonsoir Maguetlolo, le forum,

peut être un début de piste

jha

Edit: Bonsoir Kjin, pour rajouter le controle du N° d'article:
=SI(D2=Feuil2!$D$3;SI(ET(TEXTE(Feuil2!$A$3;"jj/mm/aaaa")*1+TEXTE(Feuil2!$B$3;"hh:mm:ss")*1<TEXTE(A2;"jj/mm/aaaa")*1+TEXTE(B2;"hh:mm:ss")*1;TEXTE(Feuil2!$A$4;"jj/mm/aaaa")*1+TEXTE(Feuil2!$B$4;"hh:mm:ss")*1>TEXTE(A2;"jj/mm/aaaa")*1+TEXTE(B2;"hh:mm:ss")*1);Feuil2!$C$3;Feuil2!$C$4);"???")
 

Pièces jointes

  • Entree sortie.zip
    2.8 KB · Affichages: 25
Dernière édition:

maguetlolo

XLDnaute Junior
Re : fusion de liste un peu spécial

Bonsoir JHA

merci de repondre,
c en effet un début, mais crois tu qu'une formule est suffisante en sachant que mes liste peuvent faire 50 000 lignes et donc quelqque 30 ou 40 000 N° d(article different? ne faut il pas faire une macro? ta formule chercheras t'elle dans les 50 000 lignes celle qui est concerné?
 

maguetlolo

XLDnaute Junior
Re : fusion de liste un peu spécial

bonsoir kjin


en fait j'ai deux listes, 1 liste de défaut avec le numero d'article qui genere le defaut,le defaut peut-etre generer en entrant dans le stock ou en sortant du stock. et j'ai une liste des entrées et des sorties d'article. Le but est de rapprocher ces deux listes afin de savoir si c en entrée ou en sortie que l'article genere le defaut.
_ en effet, je n'ai pas ete tres clair dans mes explications, il est trop tard ce soir, mais demain je mettrais un fichier joint avec de vrai liste afin que tous soit clair.
 

maguetlolo

XLDnaute Junior
Re : fusion de liste un peu spécial

Bonsoir Maguetlolo, le forum,

peut être un début de piste

jha

Edit: Bonsoir Kjin, pour rajouter le controle du N° d'article:
=SI(D2=Feuil2!$D$3;SI(ET(TEXTE(Feuil2!$A$3;"jj/mm/aaaa")*1+TEXTE(Feuil2!$B$3;"hh:mm:ss")*1<TEXTE(A2;"jj/mm/aaaa")*1+TEXTE(B2;"hh:mm:ss")*1;TEXTE(Feuil2!$A$4;"jj/mm/aaaa")*1+TEXTE(Feuil2!$B$4;"hh:mm:ss")*1>TEXTE(A2;"jj/mm/aaaa")*1+TEXTE(B2;"hh:mm:ss")*1);Feuil2!$C$3;Feuil2!$C$4);"???")

Bonjour tt le monde

un petit message avant de partir au boulot, je jette un heure a vos idées d'hier, en fait pour la formule de jha, ca semble etre ca, sauf que dans cette exemple,

08/01/08 / 14:15:15 / 100 / 031765414698756357 / entrée
08/01/08 / 14:35:24 / 150 / 031765414698756357 / entrée
08/01/08 / 14:45:01 / 245 / 031765414698756357 / entrée
08/01/08 / 18:45:24 / 154 / 031765414698756357 / sortie
08/01/08 / 20:15:12 / 214 / 031765414698756357 / sortie


cette liste ne comporte qu'un seul numero d'article et dans la vrai il y a "20 000" numeros. c'est donc je pense cette formule mais en rajoutant qu'il faut comparer aux 50 000 lignes de la vrai liste afin de trouver celle qui correspond. de tte facon, je vous joint une liste et des explications correctes cet apres-midi. a tte et bonne journée.
 

JHA

XLDnaute Barbatruc
Re : fusion de liste un peu spécial

Re,

en attendant la vrai liste, essai avec plusieurs N° dans la feuille fusion et un recap avec sommeprod().

JHA
 

Pièces jointes

  • Entree sortie.xls
    28 KB · Affichages: 51
  • Entree sortie.xls
    28 KB · Affichages: 53
  • Entree sortie.xls
    28 KB · Affichages: 54

maguetlolo

XLDnaute Junior
Re : fusion de liste un peu spécial

Re tt le monde.

voila, j'ai une vrai liste, il est vrai que mes explications d'hier étais pour moi logique mais que je ne me suis pas mis a votre place qui ne savez pas forcement de quoi je parle. Avec cette liste, ca va surement compliquer les choses mais c'est du concret. j'espers que cela serat plus claire pour vous.

la voici en piece jointe
 

Pièces jointes

  • processus defaut - Copie.xls
    28.5 KB · Affichages: 70
  • processus defaut - Copie.xls
    28.5 KB · Affichages: 71
  • processus defaut - Copie.xls
    28.5 KB · Affichages: 69

maguetlolo

XLDnaute Junior
Re : fusion de liste un peu spécial

bonjour

si vous avez besoin de precision, n'hesitez pas
je cherche si il y a un autre moyen d'arriver ou je veux, mais pour l'instant je ne vois pas comment faire. si vous avez des suggestions, je vous ecoute.
 

maguetlolo

XLDnaute Junior
Re : fusion de liste un peu spécial

j'ai fait une formule qui a l'air de fonctionner, mais je l'ai fait sur une ligne, est-il possible de l'incorporer a une macro (apres transformation) ? en fait je pense qu'elle verifie tout les critères mais si elle arrivais a passer a la ligne suivant si c faux et a s'aretter dès que c vrai, ce serait peut-être bon. Qu'en pensez-vous? ce serait peut-etre long?

A coller dans la cellule C2 de la liste des défaut de mon fichier joint plus haut

=SI(ET(C2=processus!C2;défaut!A2>=processus!A2;défaut!A2<=processus!B2);(processus!D2);("passer à la ligne suivante"))
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : fusion de liste un peu spécial

voila, j'ai une vrai liste, il est vrai que mes explications d'hier étais pour moi logique mais que je ne me suis pas mis a votre place qui ne savez pas forcement de quoi je parle. Avec cette liste, ca va surement compliquer les choses mais c'est du concret. j'espers que cela serat plus claire pour vous.

Bonjour,
Je ne sais pas si c'est plus compliqué, mais il est sûr qu'entre les entrées, sorties, numéro de défaut, dates avant, après ....qui, quand, quoi, pourquoi, comment, avec qui, avec quoi....je n'ai toujours rien compris !
Donc, si tu essayais de décrire en francais dans le texte, ce qu'on cherche et comment on le trouve, il y a peut-être une chance de trouver une solution qui te satisfasse. (Relis ton message !)
A+
kjin
 

maguetlolo

XLDnaute Junior
Re : fusion de liste un peu spécial

Bonjour kjin,

alors, je vais essayer de détailler.
dans ma piece jointe:

il y a deux feuilles: 1: "processus" (jour et heure de début et de fin du processus d'entrée et de sortie des articles dans le stock) et 2: "défaut" (jour et heure des défauts survenus pendant les entrée ou sortie d'article du stock avec numéro du défaut)

on commence par la deuxieme (défaut) chaque ligne est un défaut (la colonne nom est le numéro du défaut mais là, on en a pas besoin).
Donc prenons la premiere ligne (que j'ai mis en rouge dans les deux listes): le numéro d'article est :"01014018959" et le jour et l'heure de cette ligne sont : "2/05/2008 à 01:59:19"

ce que je veut savoir : le défaut qui est donc survenu le "2/05/2008 à 01:59:19" avec l'article "01014018959" est-il survenu pendant le processus d'entrée de l'article dans le stock ou pendant le processus de sortie?

1) il me faut donc une macro qui recherche ce N° d'article dans la feuille "processus".
2) une fois que l'on a trouver l'article correspondant dans la feuille "processus": on peut voir

que le processus d'entrée dans le stock a commencé le "2/05/2008 à 01:57:13" et a fini le "2/05/2008 à 02:32:49"

que le processus de sortie a commencé le "2/05/2008 à 07:23:20" et s'est terminé le "2/05/2008 à 07:26:42".


3) puisque le défaut est suvenu le "2/05/2008 à 01:59:19" et donc pendant le processus d'entrée, on marque devant la ligne du défaut : "entrée".


Voila, j'espers avoir été assez clair cette fois-ci.
 

Discussions similaires

Réponses
17
Affichages
3 K

Statistiques des forums

Discussions
312 930
Messages
2 093 717
Membres
105 794
dernier inscrit
mallet