Microsoft 365 Fichier XML dans excel

PotdeCrayon

XLDnaute Nouveau
Bonjour,
Je ne trouve pas de solution pour l'ouverture de mon XML. C'est une BDD produit avec plusieurs niveaux et pas mal de colonne.
Quand j'ouvre "^bêtement" dans Excel j'ai une vue hiérarchisée (Ligne 1 info dans la colonne1, Ligne 2 info dans la colonne 2 etc...) et je souhaite avoir un fichier à plat ligne 1 info dans les colonnes 1, 2, 3...
Comment supprimer la vue hiérarchisée ?
Merci pour votre aide
 

Pièces jointes

  • Capture d’écran 2023-09-29 143548.png
    Capture d’écran 2023-09-29 143548.png
    12.1 KB · Affichages: 11

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour,
Est-ce que vous avez essayé d'importer par le biais de Power Query (en natif dans 365)?
Ruban "Données", "Obtenir des données/A partir d'un fichier/A partir d'un fichier XML"

1695992186062.png


Sélectionnez le fichier
Puis cliquez sur "Transformer les données", puis "Fermer et charger", choisir la destination...
1695992330360.png
 

PotdeCrayon

XLDnaute Nouveau
Bonjour,
Est-ce que vous avez essayé d'importer par le biais de Power Query (en natif dans 365)?
Ruban "Données", "Obtenir des données/A partir d'un fichier/A partir d'un fichier XML"

Regarde la pièce jointe 1180000

Sélectionnez le fichier
Puis cliquez sur "Transformer les données", puis "Fermer et charger", choisir la destination...
Regarde la pièce jointe 1180002
Merci c'est effectivement ce que j'ai fait mais j'ai une erreur au moment du chargement finale dans excel CF. PJ
 

Pièces jointes

  • Capture d’écran 2023-09-29 151757.png
    Capture d’écran 2023-09-29 151757.png
    11.9 KB · Affichages: 15

PotdeCrayon

XLDnaute Nouveau
Je n'ai pas d'erreur en ouvrant mon fichier test dans chrome ou excel. Pourquoi vous, vous avez une erreur ?
En PJ le fichier test (a renommer en xml, l'extension est interdite en tant que PJ) pour vérifier que cela passe mieux
 

Pièces jointes

  • Test_feed_28.txt
    129.7 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Si vous trouvez aucune solution ( pb de fichier, d'import ... ) il est possible de "bidouiller" en VBA pour rendre correct le résultat en concaténant les cellules.
[edit]
Puisque j'y ai pensé, je l'ai fait, "just for the fun".
Dans la PJ vous faites ALT+F8, vous avez deux macros :
- TransfertTableauPourTest qui ne sert qu'à transférer un tableau dans la feuille à votre format, juste pour le test
- Concatène : qui transforme ce tableau en un tableau comme vous le désirez.
 

Pièces jointes

  • PtDeCrayon - Concatène tableau de datas.xlsm
    47.8 KB · Affichages: 3
Dernière édition:

PotdeCrayon

XLDnaute Nouveau
Re,
Si vous trouvez aucune solution ( pb de fichier, d'import ... ) il est possible de "bidouiller" en VBA pour rendre correct le résultat en concaténant les cellules.
[edit]
Puisque j'y ai pensé, je l'ai fait, "just for the fun".
Dans la PJ vous faites ALT+F8, vous avez deux macros :
- TransfertTableauPourTest qui ne sert qu'à transférer un tableau dans la feuille à votre format, juste pour le test
- Concatène : qui transforme ce tableau en un tableau comme vous le désirez.
Top merci pour ton aide précieuse
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

Avec PQ
PowerQuery:
let
    Source = Xml.Tables(File.Contents("C:\Users\STAPLE\Documents\Test_feed_28.xml")),
    Table0 = Source{0}[Table],
    #"Type modifié" = Table.TransformColumnTypes(Table0,{{"product-id", type text}, {"id_supplier", Int64.Type}, {"supplier_reference", type text}, {"id_manufacturer", Int64.Type}, {"location", type text}, {"height", type text}, {"width", type text}, {"weight", type text}, {"depth", type text}, {"on_sale", Int64.Type}, {"reference", type date}, {"isbn", type text}, {"upc_barcode", type text}, {"mpn", type text}, {"active", Int64.Type}, {"date_add", type datetime}, {"date_upd", type datetime}, {"condition", type text}, {"available_for_order", type text}, {"visibility", type text}, {"retail_price", Int64.Type}, {"cost_price", type text}, {"ecotax", Int64.Type}, {"inventory-count", Int64.Type}, {"quantity_discount", Int64.Type}, {"out_of_stock", Int64.Type}, {"minimal_quantity", Int64.Type}, {"id_category_default", Int64.Type}, {"supplier_name", type text}, {"link_rewrite", type text}, {"meta_description", type text}, {"meta_keywords", type text}, {"meta_title", type text}, {"product-name", type text}, {"available_now", type text}, {"available_later", type text}, {"cart_default", type text}, {"home_default", type text}, {"large_default", type text}, {"medium_default", type text}, {"small_default", type text}, {"name_category_default", type text}, {"link", type text}, {"parent_id_product", Int64.Type}, {"additional_id_product", Int64.Type}, {"additional_id_combination", type text}, {"reference_with_prefix", type date}, {"parent_reference", type text}, {"ean-13_with_prefix", type text}, {"days_back_created", Int64.Type}, {"unit", type text}, {"unit_price", type text}, {"unit_price_excl_tax", type text}, {"shipping_country", type text}, {"shipping_country_code", type text}, {"product_tags", type text}, {"available_date", type text}, {"price", type text}, {"sale_price_tax_excl", type text}, {"price-discounted-from", type text}, {"shipping_price", type date}, {"discount_amount_only", Int64.Type}, {"discount_rate", Int64.Type}, {"tax_rate", Int64.Type}, {"stock_status", type text}, {"ids_of_all_categories", Int64.Type}, {"category_url", type text}, {"product_category_tree", type text}, {"Format", type text}, {"Appellation", type text}, {"Mill__sime", Int64.Type}, {"Couleur", type text}, {"Classement", type text}, {"Volume_de_r__f__rence", type text}, {"R__gion", type text}, {"Type_de_vieillissement", type text}, {"Stockage", type text}, {"Temp__rature_de_service", type text}, {"Pastilles", type text}, {"Conditionnement", type text}, {"Format_et_conditionnement", type text}})
in
    #"Type modifié"
J'obtiens un tableau de 27 lignes

@Cousinhub
Tu n'obtiens pas la même chose ?

Et avec ce VBA (à l'ancienne) itou (mais en moins beau)
Code:
Sub Macro2()
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.QueryTables.Add(Connection:= _
        "FINDER;C:\Users\STAPLE\Documents\Test_feed_28.xml", Destination:= _
        Range("$A$1"))
        .Name = "Test_feed_28"
        .FieldNames = True
        .RowNumbers = False
        .PreserveFormatting = True
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlAllTables
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .Refresh BackgroundQuery:=False
    End With   
End Sub

NB: Pour tester, changer le path du fichier *.txt
 

Discussions similaires

Statistiques des forums

Discussions
315 094
Messages
2 116 153
Membres
112 670
dernier inscrit
Flow87