Importation de contenus xml "à la suite" d'un tableau Excel

Salut à tous,

Pour commencer, je bosse sous Excel 2003 (et si indispensable j'ai accès à Excel 2010 au boulot).

L'association pour laquelle j’œuvre va récupérer des inscriptions dans des fichiers au format XML que je vais devoir rendre sous forme de tableau Excel (histoire d'avoir un tableau récapitulatif et des stats etc...).

Mais voilà mon problème: ces données XML vont arriver dans de nombreux fichiers au fur et à mesure des semaines.

Je souhaiterais donc qu'en important chaque nouveau fichier XML dans mon tableau Excel, les nouvelles données XML viennent automatiquement se glisser en bas du tableau, au-dessous des données déjà récupérés (car bien sûr je ne souhaite pas mapper indépendamment chaque fichier).

J'ai cherché des informations sur ce type d'opération pensant ne pas être le seul dans ce cas mais je n'ai malheureusement rien trouvé.

Si quelqu'un peut m'aider

Merci et bonne soirée.

Bonjour Nicko51 le forum

sans fichier ni exemple de ce que tu as à ajouter difficile de t'aider

a+

papou

paritec a écrit :

Bonjour Nicko51 le forum

sans fichier ni exemple de ce que tu as à ajouter difficile de t'aider

a+

papou

Ok, merci, pas de problème, je prépare ça et je posterai ça demain

En gros, pour préparer le terrain, je récupère les données de fichiers XML provenant d'un pdf à remplir (créé avec LiveCycle Designer) pour les mettre dans un tableau avec une nouvelle ligne pour chaque nouveau fichier xml...

La suite demain

Re Nicko51 le forum

pas de souci des que l'on aura tes fichiers on va regarder cela de tout près

a+

papou

Comme promis voilà les fichiers "d'exemples" permettant d'expliquer comment je veux bosser:

Le fichier formulaire pdf "01-formulaire_a_remplir.pdf" renverra les données en xml par mail (02-_71g2140h24d5bcqj.xml, 02-_71g2140h24d5bcq2.xml et 02-_71g2140h24d5bcq3.xml).

Je souhaite ajouter ces fichiers ayant la même structure dans le fichier "Excel 03-Classeur1.xls" (à partir de Excel 2003 ou 2010, ce qui sera le plus simple à mettre en oeuvre!).

Autre chose: vu que je recevrai ces fichiers xml par mail au compte goutte, j'aimerais automatiser autant que possible les ajouts des données au fur et à mesure au bas du tableau Excel.

Si jamais je n'ai pas été assez clair, n'hésitez pas à me demander des informations supplémentaires!

Un grand merci pour votre aide!

Un petit up car je bloque vraiment

Salut le forum

Une première tentative

Sub Import_XML()
Dim MyPath As String
Dim MyFile As String

MyPath = "D:\XML_Dir\"
MyFile = Dir(MyPath & "*.xml")

Do Until MyFile = ""
  Application.DisplayAlerts = False
    ActiveWorkbook.XmlImport _
        URL:=MyPath & MyFile, _
        ImportMap:=Nothing, _
        Overwrite:=True, _
        Destination:=Range("$A$" & Cells(Rows.Count, "A").End(xlUp).Row + 1)
  Application.DisplayAlerts = True
  MyFile = Dir
Loop

End Sub

Mytå

Merci infiniment Mytå, ça marche nickel! Et ce, même sur mes gros fichiers xml complets avec un bon paquet de données dedans!!!

Maintenant, j'aimerais apporter quelques modifications car je ne souhaite pas voir apparaître toutes les données dans Excel ni dans l'ordre du fichier xml et enfin, il faudrait "nettoyer" certaines données générées dans le fichier xml mais qui ne servent pas.

Contenu d'un fichier xml pour expliquer ce que j'attends:

<?xml version="1.0" encoding="UTF-8"?>
<labellisation
><Haut_de_page xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup"
/><organisation
><orga_nom
>Nom 1</orga_nom
><orga_adresse
>Adresse 1</orga_adresse
><orga_codepostal
>11111</orga_codepostal
><orga_ville
>Ville 1</orga_ville
></organisation
><Envoi xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" xfa:dataNode="dataGroup"
/></labellisation
>

En résumé, je souhaiterais donc:

- enlever automatiquement le "dataGroup" qui apparaît en première colonne de mon tableau Excel et celui qui apparaît dans la dernière (autrement dit "nettoyer" les donnée arrivant dans Excel)

- ne sélectionner que certaines données à importer dans le tableau Excel: afficher dans le tableau le nom, l'adresse et la ville , mais ne pas y afficher le code postal

- réordonner certaines données: afficher la ville dans la première colonne, l'adresse dans la deuxième et le nom dans la troisième

Merci encore pour votre aide qui va nous permettre de gagner beaucoup beaucoup beaucoup de temps...

Personne?

Bonjour à tous,

je remonte mon sujet pour dire que j'ai bien avancé dans mon projet, mais j'ai encore un soucis.

J'utilise une macro pour exporter au format CSV la feuille 1 du classeur donné en pièce jointe en conservant les cellules vides au niveau des lignes remplis. Jusque là pas de souci...

Mon problème est que cet export fait apparaître aussi les lignes vides à la fin du tableau dans le fichier CSV matérialisées des ",,,," .

Si quelqu'un peut m'aider à faire disparaître automatiquement ces lignes vides (",,,," dans le CSV) lors de l'export (ou à ne pas les exporter) svp.

Merci pour votre aide!

31classeurtest.xlsx (9.03 Ko)

Bonsoir Nicko51 le forum

tu réclames de l'aide OK mais tu as joins un fichier ou il n'y a pas de """"" alors si tu veux que l'on puisse traiter ton fichier, tu nous joins le résultat souhaité dans le fichier en feuil1, et l'importation de ta feuille avec tes défauts en feuil2 et on va t'aider

n'oublies pas les explications dans le fichier

a+

Papou

Rechercher des sujets similaires à "importation contenus xml suite tableau"