XL 2013 Mappage XML d'un fichier excel

erwanhavre

XLDnaute Occasionnel
Bonjour à tous je suis dans une impasse et j'ai besoin de vous
Peut être que cela va paraître simple pour certain d'entre vous mais voila mon pb
Je dois exporter les données d'une feuille excel vers un, fichier .XML
Le problème est simple je suis une quiche dans ce domaine ...
Ce que j'ai fait :
j'ai pris un fichier XML similaire à ce dont j'ai besoin ..
via l'onglet développeur j'ai importer ce fichier
j'y ai modifier le contenu des lignes mais laissé à l'identique les entête de colonnes
mais au moment d'exporter ou d'enregistrer mon fichier pour exporter celui-ci au format .XML excel deviens vulgaire et me dit des gros mots du style:
"Données dénormalisées"
ou
"les mappages XML de ce classeur ne sont pas exportables ... "

svp que dois-je faire pour que cela fonctionne svp
Je suis dans la m**** là lol
je vous joins mon fichier
Merci à ceux qui y arriverons ...
 

Pièces jointes

  • Classeur5.xlsx
    11.3 KB · Affichages: 49

patricktoulon

XLDnaute Barbatruc
re
tiens en attendant regarde ça
je precise que j'ai mis la meme identité redevable a tes 3 lignes puisque c'est ce que tu a dis
donc l'identité redevable est parent de tout les produits dans le xml
chaque produits est dans une balise "produit"
et pour finir apercu avec IE
VB:
Sub convertxml()
    Dim xmldoc As Object, oCreation As Object, lig&, Racine As Object, tableau As Object, c&, a As Object, m As Object
    Dim head As Range, rang As Range, period As Object, X&, Fichier$
    Set xmldoc = CreateObject("Microsoft.XMLDOM")    'creation
    Set Racine = xmldoc.createelement("mouvements-balances")  'ajout de la racine "kml"
    Racine.setattribute "xmlns", "http://douane.finances.gouv.fr/app/ciel/dtiplus/v1"
    xmldoc.appendchild Racine    'insertion dans le document (append) de kml
    Set oCreation = xmldoc.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")    'creation de l'entete du process
    xmldoc.InsertBefore oCreation, xmldoc.ChildNodes.Item(0)    'insertion parametre process
    Set period = xmldoc.createelement("periode-taxation")  'ajout de la racine "kml"
    Racine.appendchild period    'insertion dans le document (append) de kml
    Set head = Feuil1.ListObjects("Tableau3").HeaderRowRange
    Set structab = Feuil1.ListObjects("Tableau3").DataBodyRange
    Set m = xmldoc.createelement("mois"): m.Text = structab.Cells(1, 1).Text: period.appendchild m
    Set a = xmldoc.createelement("Annee"): a.Text = structab.Cells(1, 2).Text: period.appendchild a


    Set identredev = xmldoc.createelement("identification-redevable"): identredev.Text = structab.Cells(1, 3).Text
    Racine.appendchild identredev
    Set head = Feuil1.ListObjects("Tableau3").HeaderRowRange
    Set rang = Feuil1.ListObjects("Tableau3").DataBodyRange
    For lig = 1 To rang.Cells(rang.Cells.Count).Row - 1

        Set prod = xmldoc.createelement("produit"):
        identredev.appendchild prod

        For c = 4 To head.Cells(rang.Cells.Count).Column
            Set bal = xmldoc.createelement(Replace(head.Cells(c).Value, "ns1:", "")): bal.Text = rang.Cells(lig, c).Text
            prod.appendchild bal
        Next


    Next
    Fichier = Environ("userprofile") & "\Desktop\sortie.xml"
    X = FreeFile
    Open Fichier For Output As #X: Print #X, Replace(xmldoc.XML, "><", ">" & vbCrLf & "<"): Close #X
    With CreateObject("internetexplorer.application")
        .navigate Fichier

        .Visible = True
    End With
    Debug.Print Replace(xmldoc.XML, "><", ">" & vbCrLf & "<")
End Sub
 

erwanhavre

XLDnaute Occasionnel
Bonsoir Patrick
heureux que tu sois encore sur le forum lol
La couleur n'a pas changé depuis un an, j'utilise mon fichier excel qui est maintenant bien rodé pour les entrées et sorties mais me reste cette fameuse manip d'exporter mon fichier Excel vers un xml car je me coltine chaque article a renseigner à la mimine ...
j'ai possibilité de faire des essai d'intégration donc ... on peut y retourner
le format de fichier est identique
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 294
Messages
2 086 896
Membres
103 404
dernier inscrit
sultan87