Retrouver un champ selon deux critères (ligne et colonne)

Aendil

XLDnaute Nouveau
Bien le bonjour,

voilà mon problème. J'exporte un fichier Excel brut de notre requêteur. Je souhaite que ces données soit automatiquement retrouvé depuis un autre fichier Excel de production.

Le problème c'est que les données du requêteur ne sont pas fixes et que pour mettre les bonnes valeurs aux bons endroits, il me faut me base sur deux critères :
- la date en colonne
- la désignation de la catégorie en ligne

Je pensais combiner une recherchev pour trouver le numéro de la ligne et un rechercheh pour la colonne et concaténer tout ça mais sans résultat. Je cherche une solution qui ne soit pas lourde à traiter car le fichier comporte une masse importante de données.

Petite précision dans le fichier du requêteur, je n'ai pas forcément toutes les désignations ni toutes les dates présentes dans le fichier Excel de production.

Comme un exemple, vaut mieux qu'un long discours je vous joins un fichier exemple. J'espère être suffisamment clair, si ce n'est pas le cas, je vous apporterai toutes précisions possibles.

Merci par avance du temps que vous pourrez me consacrer :)
 

Pièces jointes

  • Classeur1.xlsx
    12.6 KB · Affichages: 73
  • Classeur1.xlsx
    12.6 KB · Affichages: 77
  • Classeur1.xlsx
    12.6 KB · Affichages: 83

david84

XLDnaute Barbatruc
Re : Retrouver un champ selon deux critères (ligne et colonne)

Bonjour,
à tester :
Code:
=SI(OU(NB.SI(fichier_requete!$A$2:$A$8;fichier_prod!$A23)=0;NB.SI(fichier_requete!$B$1:$G$1;fichier_prod!B$21)=0);"";INDEX(fichier_requete!$B$2:$G$8;EQUIV(fichier_prod!$A23;fichier_requete!$A$2:$A$8;0);EQUIV(fichier_prod!B$21;fichier_requete!$B$1:$G$1;0)))
A+
 

Aendil

XLDnaute Nouveau
Re : Retrouver un champ selon deux critères (ligne et colonne)

Wahou, super rapide !

J'ai les bonnes valeurs dans les bonnes colonnes mais j'ai un décalage d'une ligne. Ce qui devrait se trouver dans désignation2 se trouve dans désignation1 etc...
Je pense que c'est dû au fait que mon fichier_requete commence par designation2. Une idée d'adaptation ?
 

JNP

XLDnaute Barbatruc
Re : Retrouver un champ selon deux critères (ligne et colonne)

Bonjour Aendil et bienvenue, salut David :),
D'après le premier fichier (à voir pour l'adaptation :rolleyes:)
Code:
=SOMMEPROD((fichier_requete!$A$2:$A$100=fichier_prod!$A4)*(fichier_requete!$B$1:$AA$1=B$3)*(fichier_requete!$B$2:$AA$100))
en B4 à glisser vers la droite et vers le bas :p.
Plus court que David, mais certainement plus gourmand en mémoire, car matriciel :rolleyes:...
A + :cool:
Ajout : avec un format personalisé Standard;;
 
Dernière édition:

Aendil

XLDnaute Nouveau
Re : Retrouver un champ selon deux critères (ligne et colonne)

Oui, ça marche ! Mais effectivement ça me semble gourmand, et de plus cela nécessite de connaitre la plage de valeurs, ce qui ne sera pas forcément mon cas.

Je ne voudrai pas faire le difficile ^^ Mais si la solution de David peut être adaptée se serait... Parfait !
 
Dernière édition:

Dugenou

XLDnaute Barbatruc
Re : Retrouver un champ selon deux critères (ligne et colonne)

Bonjour Aendil, JNP, David,

Je pense que la bonne formule (david) est :
=SI(OU(NB.SI(fichier_requete!$A$2:$A$8;fichier_prod!$A22)=0;NB.SI(fichier_requete!$B$1:$G$1;fichier_prod!B$21)=0);"";INDEX(fichier_requete!$B$2:$G$8;EQUIV(fichier_prod!$A22;fichier_requete!$A$2:$A$8;0);EQUIV(fichier_prod!B$21;fichier_requete!$B$1:$G$1;0)))

Cordialement
 

Aendil

XLDnaute Nouveau
Re : Retrouver un champ selon deux critères (ligne et colonne)

En fait, je viens de voir que la formule pioche dans le deuxième tableau de l'onglet fichier_prod.

Or, le deuxième tableau est le résultat que l'on veut obtenir en lieu et place du premier tableau sur cet onglet. Je ne sais pas si je suis clair...
L'onglet fichier_requete doit alimenter le tableau vierge dans fichier_prod afin que le résultat soit le tableau en dessous.
 

Dugenou

XLDnaute Barbatruc
Re : Retrouver un champ selon deux critères (ligne et colonne)

HTML:
=SI(OU(NB.SI(fichier_requete!$A$2:$A$8;fichier_prod!$A4)=0;NB.SI(fichier_requete!$B$1:$G$1;fichier_prod!B$21)=0);"";INDEX(fichier_requete!$B$2:$G$8;EQUIV(fichier_prod!$A4;fichier_requete!$A$2:$A$8;0);EQUIV(fichier_prod!B$21;fichier_requete!$B$1:$G$1;0)))
 

david84

XLDnaute Barbatruc
Re : Retrouver un champ selon deux critères (ligne et colonne)

Re
En fait, je viens de voir que la formule pioche dans le deuxième tableau de l'onglet fichier_prod.

Or, le deuxième tableau est le résultat que l'on veut obtenir en lieu et place du premier tableau sur cet onglet. Je ne sais pas si je suis clair...
L'onglet fichier_requete doit alimenter le tableau vierge dans fichier_prod afin que le résultat soit le tableau en dessous.
Eh bien si j'ai bien compris, il te suffisait d'adapter la formule proposée aux plages de ton 1er tableau...ce qui donne :
Code:
=SI(OU(NB.SI(fichier_requete!$A$2:$A$8;fichier_prod!$A4)=0;NB.SI(fichier_requete!$B$1:$G$1;fichier_prod!B$3)=0);"";INDEX(fichier_requete!$B$2:$G$8;EQUIV(fichier_prod!$A4;fichier_requete!$A$2:$A$8;0);EQUIV(fichier_prod!B$3;fichier_requete!$B$1:$G$1;0)))
A+
 

JNP

XLDnaute Barbatruc
Re : Retrouver un champ selon deux critères (ligne et colonne)

Re :),
Si tu veux avoir des plages dynamiques (attention, avec des entêtes équivalentes à actuellement, soit A1 vide dans le fichier requêtes, et le reste sans ligne ou colonne vide :rolleyes:) :p !
Code:
=SIERREUR(INDEX(DECALER(fichier_requete!$A$1;;;NBVAL(fichier_requete!$A:$A)+1;NBVAL(fichier_requete!$1:$1)+1);SIERREUR(EQUIV($A4;DECALER(fichier_requete!$A$1;;;NBVAL(fichier_requete!$A:$A)+1);0);"");SIERREUR(EQUIV(B$3;DECALER(fichier_requete!$A$1;;;;NBVAL(fichier_requete!$1:$1)+1);0);""));"")
en B4 de la feuille Prod, à glisser à droite et vers le bas ;).
Bonne suite :cool:
Ajout : toujours avec un format personalisé "Standard;;"
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 789
Messages
2 092 121
Membres
105 222
dernier inscrit
Pujeth_72