Problème pour transposer en ligne des données colonnes

Bonjour,

J'expose mon problème: J'essaye d'automatiser la saisie de données à partir d'excel par une mise en forme sur power query en lieu et place d'une saisie manuelle. Seulement je n'arrive à trouver comment disposer seulement une partie de mes données qui sont en colonne.

J'ai un fichier de départ et j'ai un fichier cible. Le mode transposer ne fonctionne pas car j'ai besoin de créer une ligne pour chaque cellule de colonne.

Ce qui me pose problème c'est de transposer en ligne les celulles E/2 D/2 (mois et années) sans avoir à créer manuellement les mois et années en colonne A et B comme dans le fichier cible

Ce sera peut-être plus clair en regardant les 2 fichiers.

Si quelqu'un pouvez m'apporter une piste, cela pourrait peut-être grandement m'aider.

13fichier-cible.xlsx (26.00 Ko)

Bonjour à tous !

Et.....

Une approche possible (liée à ma compréhension du besoin....) :

let
    Source = Excel.CurrentWorkbook(){[Name="ZBI_INF_BUD_40__97"]}[Content],
    Record = Table.AddColumn(Source, "Rec", each [Année=Text.AfterDelimiter(Source{0}[conso A]," "), Mois = Text.BeforeDelimiter(Source{0}[conso A]," ")]),
    ExpandRec = Table.ExpandRecordColumn(Record, "Rec", {"Année", "Mois"}),
    Filtre = Table.SelectRows(ExpandRec, each ([CF] <> null))
in
    Filtre

La source étant ici le tableau structuré "départ".

Bonjour,

Hello JFL

Je me suis laissé imaginer qu'il pouvait y avoir plusieurs mois...

image

Donc, peut-être :

let
    Source = Excel.CurrentWorkbook(){[Name="ZBI_INF_BUD_40__97"]}[Content],
    AjoutRec = Table.AddColumn(Source, "Rec", each 
        [Année = if List.NonNullCount(Record.FieldValues(_))=2 then Text.AfterDelimiter([conso A]," ") else null,
         Mois = if Année <> null then Text.BeforeDelimiter([conso A]," ") else null]),
    ExpandRec = Table.ExpandRecordColumn(AjoutRec, "Rec", {"Année", "Mois"}, {"Année", "Mois"}),
    FillDown = Table.FillDown(ExpandRec,{"Année", "Mois"}),
    Filtre = Table.SelectRows(FillDown, each ([CF] <> null)),
    Reorder = Table.ReorderColumns(Filtre,{"Année", "Mois", "CF", "Ca", "Lib", "conso A", "conso B"})
in
    Reorder

Mais peut-être une imagination trop débordante?

Bonne soirée

Bonsoir à tous !

@cousinhub : Hello !

Mais peut-être une imagination trop débordante?

L'imagination est une qualité.....

@JFL Merci pour ton retour. Alors j'essaye de comprendre ce que tu as fait plutôt que d'appliquer bêtement.

Sur la forme et la base de ce que j'ai donné, ta solution semble fonctionner (seulement 2 colonnes pour le mois de janvier).

Je ne comprends pas en revanche la signification précise de chaque terme (désolé un peu novice en la matière)

each [Année=Text.AfterDelimiter(Source{0}[conso A]," ")

@cousinhub Merci à toi aussi.

Alors oui effectivement, il y a la continuité des autres mois, que je n'avais pas mis afin de simplifier ma demande.

Mais alors du coup, cela ne fonctionne apparemment pas. Car effectivement même si j'ai plusieurs colonnes correspondant au mois en question qui doivent se retrouver sous forme de " lignes" dans mon fichier cible, l'extraction brute (le fichier de départ) dissocie pour chaque mois la conso A et la conso B, or mon fichier final ne comporte que qu'une colonne conso A et une colonne conso B

fichier base fichier cible

Bonsoir à tous !

Mais alors du coup, cela ne fonctionne apparemment pas.

C'est pourquoi nous ne cessions de demander des classeurs....... représentatifs !

Version 2 à tester (la source fournie initialement a été adaptée pour tenir compte de l'image fournie.....) :

En espérant que la forme du tableau retourné corresponde à votre besoin, un exemple du résultat attendu évite de modéliser inutilement.

Bonjour et merci JFL,

C'est bien noté pour "les classeurs représentatifs".

Le but étant ici pour moi surtout de comprendre et ne pas reproduire bêtement vos solutions. Même si cela m'aide bcp :)

image

A l'étape surlignée en bleu de combinaison des tables, j'ai le message d'erreur indiqué plus haut alors que j'ai pourtant bien mes 2 étapes ListTbl et listMois.

Auriez-vous une idée de ce qui cloche?

Merci,

Bonjour à tous !

----> Pour une aide adaptée, merci de joindre le classeur (pas une image !), anonymisé mais représentatif.

C'est noté désormais je ne mettrais seulement que les fichiers.

Dans le fichier en PJ, il y a donc la demande complète: soit le fichier source, le fichier retravaillé sur la forme par PowerQ et le modèle de fichier attendu.

Ma question est la suivante, comment intégrer la solution fournie précédemment à la suite de mon travail préparatoire sur PowerQ?

Merci,

Bonsoir à tous !

Quelle est la table source, ie celle qui va servir de base aux retraitements ? "Fichier initial Anonyme Brut" ou "Fichier initial Retrav PowerQ" ?

Si c'est la première, merci de fournir une table de correspondance entre les champs non temporels de la source et les noms définitifs à conserver dans la table finale.

A noter, certains champs de la source "Fichier initial Anonyme Brut" ne sont pas nommés.

Bonjour,

Le fichier source est le fichier nommé "Fichier initial Anonyme Brut" en 1er onglet.

Voici la table de correspondance.

Bonjour à tous !

Les champs libres issus de la dé-fusion des cellules sont à supprimer ?

Oui, tout à fait.

Bonsoir à tous !

Une proposition .....( les précisions sur le résultat attendu sont lacunaires : Résultats chiffrés sans rapport avec la source, aucune information sur la définition du "cumul"....) :

Bonjour à tous !

Un retour ?

Bonjour,

La solution proposée effectivement ne coïncidait pas avec ce dont j'avais besoin. Mais effectivement par ma faute car je n'avais pas précisé du tout les éléments à prendre en compte pour le type de cumul souhaité.

Mais c'est pas bien grave, car ta solution m'a permis d'assimiler la méthode et du coup j'ai réussi à retomber sur mes pattes, donc encore merci.

Bonjour à tous !

La solution proposée effectivement ne coïncidait pas avec ce dont j'avais besoin. Mais effectivement par ma faute car je n'avais pas précisé du tout les éléments à prendre en compte pour le type de cumul souhaité.


Je suis toujours très étonné (et agacè...) de cela.....
Formuler un besoin sans en préciser les contours est une démarche hasardeuse....

On va positiver et vanter votre autonomie....

Je vous remercie de ce retour.
Rechercher des sujets similaires à "probleme transposer ligne donnees colonnes"