Index power query qui rédamrre a 1

Bonjour,

Je n'arrive pas a faire un index qui revient à 1 quand 7 est atteint (1234567 - 1234567 etc)

En pj le fichier Excel, je sais que c'est possible mais je n'y arrive pas merci pour l'aide

6test.xlsx (9.24 Ko)

Bonjour à tous !

Une proposition ?

Bonjour JFL,

Mon index va de 1 a 14 c'est peux être cela le problème

Quand j'aoute une colonne personalisés et je met ce que tu as indiqué j'ai une nouvelle colonne que je peux developpé et cela me met 7 fois le numéro de facture 7 fois 7 fois le montant du etc

Bonjour à tous de nouveau !

Je ne comprends pas votre dernier message.

Ma proposition retourne bien le résultat attendu.... non ?

image

Bonjour JFL,

Oui merci c'est moi je me suis trompé cela fonctionne bien

Pourrais-tu jeter un oeil sur cela si tu peux je l'avais mis dans un post mais cela n'avance pas

J'ai récupérer des PDF dans un dossier grâce à toi la dernière fois avec ton code.

Pour la réorganisation par contre je sèche, je suis partis un peu dans tous les sens (je suis partis sur des index mais je pense que c'est faux)

Le résultat souhaité je pense c'est trop difficile a mon niveau

Bonsoir à tous !

Une proposition..... :

Bonjour JFL,

Merci cela fonctionne super par contre j'ai essayer avec plus de factures et je n'y arrive plus

Je te mets un exemple plus complet aussi je t'es mis en page 2 ou j'en suis arrivé sur power query en gros je part pas d'un tableau source mais d'un dossier

Par contre avec plus de factures il y a un peu plus de problème sur les colonnes le résultat souhaité est toujours le même

Merci pour ton aide si c'est possible

4test.xlsx (17.89 Ko)

Bonsoir à tous !

Vos données ne sont pas stables. C'est un handicap certain.

Exemple : La valeur "Montant dû" du champ "Data.Column1" a disparu au profit(?) de "Montant Total (TVA incluse)". Et la valeur se trouve dans un champ différent ("Data.Column8" au lieu de "Data.Column5")

Le champ concernant le numéro de facture n'est pas statique.....
Idem pour la date facture.

Cette instabilité va vous interdire d'utiliser Power Query.

Bonjour JFL,

Merci pour les informations

La sur l'exemple que j'ai mis ce sera toujours ainsi, j'ai mis plus de factures et j'ai modifier une ou deux choses mais cela restera stable

Ce sera toujours dans les mêmes colonnes mais c'est sur qu'après dans cette exemple c'est plus compliqué

Merci pour l'aide

Bonjour JFL,

De mon côté en travaillant sur ce problème j'ai réussi a obtenir cela par contre j'ai deux soucis :

- Je ne sais pas mettre la bonne immatriculation dans le libelle

- L'index je ne comprend pas trop comment faire et le pivot

Cordialement,

5test2.xlsx (10.68 Ko)

Bonjour à tous !

Version 2 :

Je vous laisse le soin d'adapter la requête à votre classeur de travail notamment la partie chargeant la source (la source actuelle est basée sur le tableau structuré "base" et non sur un dossier).

Bonjour JFL,

C'est parfait par contre ta 1ère étape je n'arrive pas à la faire après la mienne

Ma dernière étape est la suivante

"= Table.SelectRows(#"Data développé", each ([Data.Column1] = "Conducteur" or [Data.Column1] = "Date de Facture" or [Data.Column1] = "Date de Location Départ" or [Data.Column1] = "Date de Location Retour" or [Data.Column1] = "Montant Total (TVA incluse)" or [Data.Column1] = "Numéro de Facture" or [Data.Column1] = "Type de Véhicule"))"

Si je copie dans l'éditeur avancé cela me dit qu'il na pas trouvé la colonne "Data.Column5" je pense que c'est parce 'que la formule fait référence à source

Dans l'éditeur avancé je n'ai pas d'erreur voici le code en entier

"let
dossierPDF=let
S = (Paramètre1 as binary) => let
in
Pdf.Tables(Paramètre1, [Implementation="1.3"])
in S,
Source = Folder.Files(Excel.CurrentWorkbook(){[Name="DOSSIERPDF"]}[Content]{0}[Column1]),
#"filtre PDF" = Table.SelectRows(Source, each ([Extension] = ".pdf")),
#"Filtre fichiers" = Table.SelectRows(#"filtre PDF", each [Attributes]?[Hidden]? <> true),
Transform = Table.AddColumn(#"Filtre fichiers", "transf table", each Table_dossier_PDF([Content])),
#"transf table développé" = Table.ExpandTableColumn(Transform, "transf table", {"Id", "Name", "Kind", "Data"}, {"Id", "Name.1", "Kind", "Data"}),
#"Lignes filtrées" = Table.SelectRows(#"transf table développé", each ([Id] = "Page001")),
#"Data développé" = Table.ExpandTableColumn(#"Lignes filtrées", "Data", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17"}, {"Data.Column1", "Data.Column2", "Data.Column3", "Data.Column4", "Data.Column5", "Data.Column6", "Data.Column7", "Data.Column8", "Data.Column9", "Data.Column10", "Data.Column11", "Data.Column12", "Data.Column13", "Data.Column14", "Data.Column15", "Data.Column16", "Data.Column17"}),
#"Lignes filtrées1" = Table.SelectRows(#"Data développé", each ([Data.Column1] = "Conducteur" or [Data.Column1] = "Date de Facture" or [Data.Column1] = "Date de Location Départ" or [Data.Column1] = "Date de Location Retour" or [Data.Column1] = "Montant Total (TVA incluse)" or [Data.Column1] = "Numéro de Facture" or [Data.Column1] = "Type de Véhicule")),
#"Autres colonnes supprimées" = Table.SelectColumns(#"Lignes filtrées1",{"Data.Column1", "Data.Column2", "Data.Column3", "Data.Column4", "Data.Column5", "Data.Column6", "Data.Column7", "Data.Column8", "Data.Column9", "Data.Column10", "Data.Column11", "Data.Column12", "Data.Column13", "Data.Column14", "Data.Column15", "Data.Column16", "Data.Column17"}),
ValRempl = Table.ReplaceValue(Source,each [Data.Column5], each if [Data.Column5]=null then Number.From(Text.Combine({[Data.Column8],[Data.Column9]},"")) else [Data.Column5],Replacer.ReplaceValue,{"Data.Column5"}),
Filtre = Table.SelectRows(ValRempl, each ([Data.Column5] <> ":")),
ValRempl1 = Table.ReplaceValue(Filtre,"Type de Véhicule","Immatriculation",Replacer.ReplaceText,{"Data.Column1"}),
ValRempl2 = Table.ReplaceValue(ValRempl1, each [Data.Column5], each if [Data.Column1]="Immatriculation" then Text.Combine({[Data.Column13], [Data.Column14]}, "") else [Data.Column5],Replacer.ReplaceValue,{"Data.Column5"}),
ValRempl3 = Table.ReplaceValue(ValRempl2,each [Data.Column5],each if Text.StartsWith([Data.Column1],"Date de") then Text.Range([Data.Column5],0,10) else [Data.Column5],Replacer.ReplaceValue,{"Data.Column5"}),
ValRempl4 = Table.ReplaceValue(ValRempl3,each [Data.Column5],each if [Data.Column1]="Montant Total (TVA incluse)" then [Data.Column7] else [Data.Column5],Replacer.ReplaceValue,{"Data.Column5"}),
ColSuppAutres = Table.SelectColumns(ValRempl4,{"Data.Column1", "Data.Column5"}),
FiltreNull = Table.SelectRows(ColSuppAutres, each ([Data.Column5] <> null)),
Index = Table.AddIndexColumn(FiltreNull, "Index", 0, 1, Int64.Type),
IndexModif = Table.TransformColumns(Index, {{"Index", each Number.IntegerDivide(_, 7), Int64.Type}}),
Pivot = Table.Pivot(IndexModif, List.Distinct(IndexModif[Data.Column1]), "Data.Column1", "Data.Column5"),
TypeChamps = Table.TransformColumnTypes(Pivot,{{"Numéro de Facture", type text}, {"Montant Total (TVA incluse)", type number}, {"Date de Facture", type date}, {"Conducteur", type text}, {"Immatriculation", type text}, {"Date de Location Départ", type date}, {"Date de Location Retour", type date}}),
ColSuppAutres1 = Table.SelectColumns(TypeChamps,{"Numéro de Facture", "Date de Facture", "Date de Location Départ", "Date de Location Retour", "Immatriculation", "Montant Total (TVA incluse)", "Conducteur"}),
ValRempl5 = Table.ReplaceValue(ColSuppAutres1,":","",Replacer.ReplaceText,{"Immatriculation"})
in
ValRempl5"

En tout cas merci pour ton taf c'est vraiment plus court que comme j'avais fait

Bonjour à tous de nouveau !

L'étape "ValRempl = Table.ReplaceValue(Source,each [Data.Column5], each if [Data.Column5]=null then Number.From(Text.Combine({[Data.Column8],[Data.Column9]},"")) else [Data.Column5],Replacer.ReplaceValue,{"Data.Column5"})," fait référence à la table "Source".

Il convient d'utiliser #"Autres colonnes supprimées" et non pas Source.

La commande devrait être :

ValRempl = Table.ReplaceValue(#"Autres colonnes supprimées",each [Data.Column5], each if [Data.Column5]=null then Number.From(Text.Combine({[Data.Column8],[Data.Column9]},"")) else [Data.Column5],Replacer.ReplaceValue,{"Data.Column5"}),

Bonjour JFL,

Merci cela fonctionne parfaitement bien, je vais regarder pour comprendre tout maintenant

Merci encore comme d'habitude c'est parfait, heureusement tu es là

Je met résolu

Cordialement,

Bonjour à tous de nouveau !

C'est une information bienvenue....

On va croiser les doigts pour les traitements à venir....

Je vous remercie de ce retour.

Rechercher des sujets similaires à "index power query qui redamrre"