Power Query Indexation lignes Power Query

  • Initiateur de la discussion Initiateur de la discussion Thomi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Thomi

XLDnaute Nouveau
Bonjour à tous, étant tout novice sur PQ je vous sollicite ^^.

Voici mon problème : Je veux intégrer plusieurs fichiers différents ensemble via PQ. Tous mes fichiers ont la même structure et ont chacuns plusieurs pages : "AD / BB / SV Sec" etc.
J'ai réussi à regrouper les données de chaque feuille sur un seule page mais je souhaiterai pouvoir identifier la 1ère ligne de chaque "Name" différent.

La première ligne de AD puis la première ligne de BB etc... . J'ai essayé d'insérer une colonne index mais cela ne me permet pas de mettre un critère sur le "Name" et donc le comptage ne revient pas à 1 à chaque changement de Nom.

J'utilise l'onglet Traitement de fichier dans mon PQ j'espere que vous comprendrez ma requete.
Je vous remercie
Thomi
 

Pièces jointes

Solution
Bonsoir,
Hello Chris 🙂
Une alternative, avec ton fichier test.
Ici, je rajoute juste une colonne d'index, à toi d'en faire ce que tu veux
Le code :

VB:
let
    Source = Excel.Workbook(File.Contents("C:\Users\tla4jny\Desktop\Fichier Forum.xlsx"), null, true),
    SupprCol = Table.SelectColumns(Source,{"Name", "Data"}),
    Rename = Table.RenameColumns(SupprCol,{{"Name", "Appro"}}),
    Filtr = Table.SelectRows(Rename, each ([Appro] = "AD" or [Appro] = "BB" or [Appro] = "EC Frais" or [Appro] = "EC Surg" or [Appro] = "PB Frais" or [Appro] = "PB Sec" or [Appro] = "SP" or [Appro] = "SS" or [Appro] = "SV Frais" or [Appro] = "SV Sec" or [Appro] = "SV Surg")),
    Expand = Table.ExpandTableColumn(Filtr, "Data", {"Column6"}, {"Data.Column6"}),
    AjtIdx =...
Bonjour
Sans fichiers une requête est illisible

Tu parles de pages : tu veux dire onglets ?

Poste 2 classeurs
Bonjour Chris

Est ce que ce fichier te convient mieux et est exploitable ?

J'ai plusieurs pages( feuilles) sur mes fichiers Excel et j'ai réussi à rassembler les données sur une seule requete ou tableau je ne sais pas quel est le nom dans PQ
 

Pièces jointes

RE

En général on récupère le nom du classeur et le nom de l'onglet : donc on sait où commence une liste et où commence la suivante

Ne pas mélanger la requête et les classeurs stockés dans un dossier

Le chemin est indiqué dans la cellule en jaune : à adapter puis actualiser
 

Pièces jointes

Bonsoir,
Hello Chris 🙂
Une alternative, avec ton fichier test.
Ici, je rajoute juste une colonne d'index, à toi d'en faire ce que tu veux
Le code :

VB:
let
    Source = Excel.Workbook(File.Contents("C:\Users\tla4jny\Desktop\Fichier Forum.xlsx"), null, true),
    SupprCol = Table.SelectColumns(Source,{"Name", "Data"}),
    Rename = Table.RenameColumns(SupprCol,{{"Name", "Appro"}}),
    Filtr = Table.SelectRows(Rename, each ([Appro] = "AD" or [Appro] = "BB" or [Appro] = "EC Frais" or [Appro] = "EC Surg" or [Appro] = "PB Frais" or [Appro] = "PB Sec" or [Appro] = "SP" or [Appro] = "SS" or [Appro] = "SV Frais" or [Appro] = "SV Sec" or [Appro] = "SV Surg")),
    Expand = Table.ExpandTableColumn(Filtr, "Data", {"Column6"}, {"Data.Column6"}),
    AjtIdx = Table.Combine(Table.Group(Expand, "Appro", {{"Idx", each Table.AddIndexColumn(_,"Numérotation",1) }})[Idx])
in
    AjtIdx

Bonne soirée
 
RE

En général on récupère le nom du classeur et le nom de l'onglet : donc on sait où commence une liste et où commence la suivante

Ne pas mélanger la requête et les classeurs stockés dans un dossier

Le chemin est indiqué dans la cellule en jaune : à adapter puis actualiser
Bonjour a vous deux et merci de vos réponses,

Je suis désolé mais je suis vraiement tout novice sur PQ et malgré les tutos que j'ai pu regarder je vous avoue ne pas comprendre grand chose à ce que je dois faire par rapport aux solutions que tu proposes Chris.
De plus dès que j'ouvre ton fichier avec tes éléments PQ j'ai un message d'erreur qui s'affiche :
"Formula.Firewall : Requête « Traitement du fichier » (étape « Personnalisée ajoutée ») référence d'autres requêtes ou étapes et ne peut donc pas accéder directement à une source de données. Reconstruisez cette combinaison de données."
Ce même message s'affiche quand je saisie dans une colonne personnalisée la proposition de code faite par Cousinhub....
 
Bonjour,
Cette erreur provient de la configuration et des paramètres de PQ.
Ouvre l'éditeur PQ (Alt + F12).
Clique sur "Fichier/Options et Paramètres/Options de requête"

1692949404247.png


Puis dans la rubrique "Confidentialité", valider l'option "Toujours ignorer....."

1692949473573.png



Ce paramétrage est à effectuer une bonne fois pour toutes, cette option étant source de plus de pb que d'une quelconque utilité.
Bonne journée
 
Bonjour,
Cette erreur provient de la configuration et des paramètres de PQ.
Ouvre l'éditeur PQ (Alt + F12).
Clique sur "Fichier/Options et Paramètres/Options de requête"

Regarde la pièce jointe 1177162

Puis dans la rubrique "Confidentialité", valider l'option "Toujours ignorer....."

Regarde la pièce jointe 1177163


Ce paramétrage est à effectuer une bonne fois pour toutes, cette option étant source de plus de pb que d'une quelconque utilité.
Bonne journée
Génial ! J'ai désormais pu inserer le code que tu as transmis plus haut et ca fontionne exactement comme je l'esperais !
Merci à vous deux pour votre aide et bonne journée!
 
Bonsoir,
Hello Chris 🙂
Une alternative, avec ton fichier test.
Ici, je rajoute juste une colonne d'index, à toi d'en faire ce que tu veux
Le code :

VB:
let
    Source = Excel.Workbook(File.Contents("C:\Users\tla4jny\Desktop\Fichier Forum.xlsx"), null, true),
    SupprCol = Table.SelectColumns(Source,{"Name", "Data"}),
    Rename = Table.RenameColumns(SupprCol,{{"Name", "Appro"}}),
    Filtr = Table.SelectRows(Rename, each ([Appro] = "AD" or [Appro] = "BB" or [Appro] = "EC Frais" or [Appro] = "EC Surg" or [Appro] = "PB Frais" or [Appro] = "PB Sec" or [Appro] = "SP" or [Appro] = "SS" or [Appro] = "SV Frais" or [Appro] = "SV Sec" or [Appro] = "SV Surg")),
    [COLOR=rgb(235, 107, 86)][B]Expand = Table.ExpandTableColumn(Filtr, "Data", {"Column6"}, {"Data.Column6"}),[/B][/COLOR]
    AjtIdx = Table.Combine(Table.Group(Expand, "Appro", {{"Idx", each Table.AddIndexColumn(_,"Numérotation",1) }})[Idx])
in
    AjtIdx

Bonne soirée
Je me permets de revenir vers toi, as-tu s'il te plait une astuce pour pouvoir définir rapidement plusieurs colonne dans la partie du code surligné au-dessus en rouge s'il te plait ? En effet j'ai 20 colonnes à intégrer dans la formule et je n'arrive pas a comprendre comment formuler tout ca, ma ligne est interminable.

Je te remercie
 
Re-,
Je ne comprends pas du tout ce que tu veux...
Quel code surligné en rouge?
Quel résultat?
Quelles colonnes?
Refais un exemple avec 3-4 colonnes, et le résultat escompté, stp?
@ te relire
Re,
Vu dans la pièce jointe, les balises rgb...
Précises les colonnes, si elles se suivent, le nombre total et le nombre voulu...
 
Re-,
Je ne comprends pas du tout ce que tu veux...
Quel code surligné en rouge?
Quel résultat?
Quelles colonnes?
Refais un exemple avec 3-4 colonnes, et le résultat escompté, stp?
@ te relire
Re,
Vu dans la pièce jointe, les balises rgb...
Précises les colonnes, si elles se suivent, le nombre total et le nombre voulu...
Pardon, oui au moment d'envoyé le message la couleur avait sautée et seulement les balises apparaissaient, ok super je pensais devoir repreciser a chaque fois le nom et le nom souhaité je m'embrouillais, merci a toi et bonne soirée
 
Re-,
Euh, je n'ai encore rien donné comme précision....
Vu que je ne sais pas ce que tu veux développer dans le Table.ExpandTableColumn....
Excuse moi je n'avais pas vu ta réponse,
AH, j'ai cru que le précise les colonnes était l'élément de réponse ........
J'ai donc listé dans ma requete les colonnes et ca a répondu à mon souci, pour ca que je pensais d'autant plus qu'il s'agissait de la réponse.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour