Microsoft 365 Récupérer des valeurs d'un autre tableau en fonction de plusieurs critères

Thibault123

XLDnaute Junior
Bonjour,

J'ai besoin de récupérer dans un autre tableau des valeurs en fonction de plusieurs critères. "L'autre tableau" nommé Pré enregistrement des NC.xlsm est celui que j'ai joint.
Le tableau dans lequel je souhaite que ces valeurs soient affichées s'appelle Performance fournisseurs.xlsm. La feuille dans laquelle il faut afficher ces valeurs s'appelle Scorecard. Les valeurs doivent être affichées en colonne à partir de la ligne 67. J'ai mis un tableau exemple en pièce jointe.
Je souhaite afficher à partir de cette ligne les valeurs N° NC, Date, Code article, Désignation, N° série, Quantité et Défaut constat du tableau Pré enregistrement des NC.xlsm pour le mois de Juillet (colonne Date) pour le Fournisseur A (colonne Responsabilité Fournisseur / VIT).
J'espère avoir été suffisamment clair!?
Merci d'avance pour votre aide.
 

Pièces jointes

  • Pré enregistrement des NC.xlsm
    88.1 KB · Affichages: 31
  • Performance fournisseurs.xlsm
    9 KB · Affichages: 5

chris

XLDnaute Barbatruc
Bonjour

Une solution PowerQuery (intégrée à ta version Excel).

J'ai indiqué dans un petit tableau : le chemin d’accès, le mois et le fournisseur

Change le chemin d'accès puis éventuellement l'un ou l'autre des paramètres puis Données ActualiserTout
 

Pièces jointes

  • Performance fournisseursPQ.xlsx
    19.7 KB · Affichages: 14

Thibault123

XLDnaute Junior
OK.
Par contre je ne comprends absolument pas comment utiliser ta solution.
Le petit tableau au sommet est-il obligatoire?
Comment dois-je indiquer le répertoire? Dans la barre de formule, il est écrit =INFORMATIONS("repertoire"). J'ai essayé de changer la partie répertoire par le chemin du fichier, mais ça ne marche pas.
Comment est créé le lien entre les 2 tableaux?
 

chris

XLDnaute Barbatruc
RE

Ta demande initiale "J'ai besoin de récupérer dans un autre tableau des valeurs en fonction de plusieurs critères" mais on ne sait où sont définis les critères d'ou le tableau...

PowerQuery a besoin de savoir où est le fichier. Faute de précision de ta part, j'ai considéré que c'était le même que celui de Performance d'où la formule (dont l'aide en ligne te donne la logique).

Si les 2 fichiers sont bien dans le même dossier, inutile de changer sinon supprimer la formule et taper le chemin.
 

chris

XLDnaute Barbatruc
RE

Comme tu peux le voir les 3 critères sont dans un tableau structuré nommé TChoix qui a les titres en ligne 1 donc les données utiles en ligne 2 et c'est le nom du tableau et des ses colonnes qu'utilise ici la requête PowerQuery.

Donc si dans le fichier que j'ai joint tu remplaces juste la cellule contenant la formule du chemin par
N:\DEMANDES OPERATIONS\Non conformites composant\
et les autres par le mois (en lettres et correctement orthographié) et non nom du fournisseur par un fournisseur existant l'actualisation fonctionnera...

Après tu pourras regarder et modifier si nécessaire la requête ou la copier et la coller dans ton fichier.

 

Thibault123

XLDnaute Junior
J'ai testé ton fichier Excel en indiquant le chemin et cela fonctionne.
Mais je n'arrive pas à reproduire ce que tu as fait dans mon vrai fichier.
J'ai joint un fichier un peu moins dépouillé. Je suis obligé comme c'est pour le boulot, d'où la version ultralight du départ en pensant que cela allait suffire croyant qu'on allait me proposer une macro en solution.

Est-il possible, au lieu de mettre le tableau TChoix, d'utiliser les valeurs en B1 et B2? Sur la feuille, ce sont les 2 seules cases que je change. Tout le reste se fait en automatique. J'aimerais garder cet esprit.
J'ai ajouté quelques colonnes sur la ligne 67 de données que je souhaiterais afficher.
Pour les critères de la requête, il y a donc le nom en B1 qui provient d'une liste déroulante, et la date en B2 que je rentre au format "mm/aa". Est-il possible simplement avec l'indication d'un mois de récupérer les valeurs de ce mois et des 2 mois précédents (pour avoir les valeurs des 3 derniers mois glissants)?

Merci encore pour ton aide.
 

Pièces jointes

  • Performance fournisseurs.xlsm
    49.6 KB · Affichages: 9

chris

XLDnaute Barbatruc
RE

J'avais regardé hier, modifié la requête mais je ne voyais pas où tu l'utilises (pas de TCD) et j'ai conclus que ton fichier avait un problème car PowerQuery ramait tellement que c'était inexploitable.
De plus la structure du fichier source, que tu n'as pas joint semble différer de celui joint le 12/08

J'ai créé trois plages nommées pour tes 2 cellules plus le chemin :
Date pour la cellule B2
Fournisseur pour B1
Dossier pour la cellule contenant le chemin d'accès

Le code de la requête est le suivant
VB:
let
    Source = Excel.Workbook(File.Contents(Table.FirstValue(Excel.CurrentWorkbook(){[Name="Dossier"]}[Content]) &"Pré enregistrement des NC.xlsm"), null, true),
    #"Listing NC_Sheet" = Source{[Item="Listing NC",Kind="Sheet"]}[Data],
    #"En-têtes promus" = Table.PromoteHeaders(#"Listing NC_Sheet", [PromoteAllScalars=true]),
    #"Lignes filtrées" = Table.SelectRows(#"En-têtes promus", each ([#"Responsabilité Fournisseur / VIT"]  = Table.FirstValue(Excel.CurrentWorkbook(){[Name="Fournisseur"]}[Content]))),
    #"Autres colonnes supprimées" = Table.SelectColumns(#"Lignes filtrées",{"N° NC", "Date", "Code article", "Désignation", "N° série", "Défaut constaté"}),
    #"Type modifié" = Table.TransformColumnTypes(#"Autres colonnes supprimées",{{"Date", type date}}),
    #"Lignes filtrées1" = Table.SelectRows(#"Type modifié", each [Date]  <= Date.From((Table.FirstValue(Excel.CurrentWorkbook(){[Name="Date"]}[Content]))) and [Date]  > Date.AddMonths(Date.From((Table.FirstValue(Excel.CurrentWorkbook(){[Name="Date"]}[Content]))) ,-3))
in
    #"Lignes filtrées1"
 

chris

XLDnaute Barbatruc
RE

Tu filtres sur Fournisseur 1 à Fournisseur 7 mais ce fichier contient Fournisseur A, Fournisseur B... donc pas de cohérence entre les 2 fichiers

et comme dit j'ai un problème avec ton fichier du #9 qui chez moi rame complètement.

Je t'ai donné tous les éléments au post précédent...

Je te joins le fichier si ça peut t'aider...
 

Pièces jointes

  • Performance fournisseurs2.xlsm
    56.8 KB · Affichages: 11

Discussions similaires

Statistiques des forums

Discussions
312 193
Messages
2 086 059
Membres
103 110
dernier inscrit
Privé