Microsoft 365 Fichier XML dans excel

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 !

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
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
 
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
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

Dernière édition:
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
 
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
 
- 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

  • Question Question
Power Query Power Query
Réponses
26
Affichages
377
Retour