Microsoft 365 Transformation de données

Kriss_77

XLDnaute Nouveau
Bonjour le Forum,

J'exporte des données comptables de mon logiciel SAGE qui sortent comme présenté sur l'onglet Extract Sage.
Je perds énormément de temps pour obtenir des données comme sur l'onglet Feuille import avant de pouvoir enfin faire mes analyses comptes charges et produits.

Je me permets de vous solliciter pour un conseil, technique de transformation des données Extract Sage et obtenir les données comme sur Feuille import.
Enfin, si vous pensez que c'est possible.

Merci d'avance pour votre aide

Kriss
 

Pièces jointes

  • Extract_data_sage.xlsx
    32.5 KB · Affichages: 17

Cousinhub

XLDnaute Barbatruc
Bonjour,
Par le biais de Power Query, on pourrait obtenir le résultat dans le fichier joint.
Pour paramétrer, il te suffit de renseigner les cellules B2 et B3 de l'onglet "Param" en indiquant les données identiques à l'exemple (valeurs conformes aux descriptifs de la colonne A)
Si tu n'arrives pas à adapter, reviens
Bonne journée
 

Pièces jointes

  • PQ_Sage.xlsx
    28.5 KB · Affichages: 7

Kriss_77

XLDnaute Nouveau
Bonjour Cousinhub, le Forum,

Merci pour la solution que vous mentionnez via Power Query.
Je ne connais pas PQ, donc je bute pour pouvoir ressortir transformer les données.

DataValeur
Chemin + NomC:\Users\chris\OneDrive\Documents\LUD\Révision\P&L+6&7
Nom Onglet à traiterGrand-livre des comptes

Ma démarche a été :

Je renseigne les cellules B2 et B3 de la feuille Param,
je j'active PQ via Obtenir les données/Transformer
Est-ce bien le cheminement?

Merci d'avance pour votre aide

Kriss
 

Cousinhub

XLDnaute Barbatruc
Re-,
Une fois que tu as bien rempli ces 2 cellules, pour mettre à jour la requête, tu as plusieurs méthodes :
- Soit, clic droit dans une cellule de la requête (Tableau du 2ème onglet), puis "Actualiser"
1690542605426.png

- Soit dans le ruban "Données", clique sur "Actualiser tout"
1690542631270.png

- Soit, si tu as sélectionné une cellule de la requête, ruban "Requête", "Actualiser"
1690542690094.png


Bonne découverte de "PQ"
 

Cousinhub

XLDnaute Barbatruc
Re-,
Perso, je n'ai jamais eu ce type d'erreur, mais on va chercher... :)
Lorsque tu fais un clic droit dans la requête, tu cliques sur "Table", puis "Modifier"
L'éditeur PQ va s'ouvrir, et tu auras donc un msg d'erreur en jaune...
On va d'abord configurer les paramètres :
Dans l'éditeur tu cliques sur "Fichier/Options et paramètres/Options de requêtee"
1690544448295.png


Puis tu sélectionnes "Toujours ignorer les paramètres de confidentialité" dans l'option "Confidentialité"
1690544518692.png

Cette opération n'est à faire qu'une bonne fois pour toute, et est sans risque.
Une fois validé, tu cliques sur le bouton "Actualiser l'aperçu"
1690544628103.png

A droite, tu as les étapes :
1690544244086.png

Clique sur la 1ère étape, (nommée "Source"), et s'il y a un msg d'erreur, tu mets ici l'image, en montrant la barre de formules (comme dans mon image) - Si la barre n'est pas affichée, tu cliques dans le ruban "Affichage"
1690544377902.png

Fais déjà ces quelques opérations, pour voir...
 

Cousinhub

XLDnaute Barbatruc
PQ ne trouve pas ce fichier...
Pour OneDrive, je ne sais pas... (mais je pense que oui)
L'erreur provient du nom du fichier, je pense....
On va faire un essai
Lorsque tu es dans l'éditeur PQ (Alt + F12, pour aller plus vite..)
Tu cliques sur la requête "Extract SAGE", puis sur "Éditeur avancé" (juste au dessus)
Tu vas accéder au code M (code de langage PQ)
1690548679221.png

Et tu remplaces tout le code présent par celui-ci :
(tu remplaces bien tout le chemin et nom par ton chemin et nom du fichier) (ici, ça commence par "C:\Users\... et finit par ..._sage.xlsx") - Attention à bien mettre les guillemets
VB:
let
    Source = Excel.Workbook(File.Contents("C:\Users\cousi\Documents\Excel\exemples\PQ\Extract_data_sage.xlsx"), null, true),
    //Source = Excel.Workbook(File.Contents(T_Param[Valeur]{0}), null, true),
    #"Lignes filtrées2" = Table.SelectRows(Source, each ([Item] = T_Param[Valeur]{1})),
    #"Data développé" = Table.ExpandTableColumn(#"Lignes filtrées2", "Data", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17", "Column18"}, {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17", "Column18"}),
    #"Premières lignes supprimées" = Table.Skip(#"Data développé",7),
    #"En-têtes promus" = Table.PromoteHeaders(#"Premières lignes supprimées", [PromoteAllScalars=true]),
    #"Lignes filtrées" = Table.SelectRows(#"En-têtes promus", each ([Date] <> null)),
    #"Colonne conditionnelle ajoutée" = Table.AddColumn(#"Lignes filtrées", "Compte", each if [C.j] = null then [Date] else null),
    #"Colonne conditionnelle ajoutée1" = Table.AddColumn(#"Colonne conditionnelle ajoutée", "Pièce", each if [C.j] = null then [Column4] else null),
    #"Autres colonnes supprimées" = Table.SelectColumns(#"Colonne conditionnelle ajoutée1",{"Date", "Compte", "C.j", "Pièce", "Column7", "Column13", "Column16", "Column19"}),
    #"Colonnes renommées" = Table.RenameColumns(#"Autres colonnes supprimées",{{"Column7", "Libellé écrtiture"}, {"Column13", "Débit"}, {"Column16", "Crédit"}, {"Column19", "Solde"}}),
    #"Rempli vers le bas" = Table.FillDown(#"Colonnes renommées",{"Compte", "Pièce"}),
    #"Lignes filtrées1" = Table.SelectRows(#"Rempli vers le bas", each ([C.j] <> null)),
    #"Type modifié" = Table.TransformColumnTypes(#"Lignes filtrées1",{{"Date", type date}})
in
    #"Type modifié"
et tu valides
 

Discussions similaires

Réponses
10
Affichages
791

Statistiques des forums

Discussions
312 207
Messages
2 086 244
Membres
103 162
dernier inscrit
fcfg