IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Générer un fichier Xml via VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Par défaut Générer un fichier Xml via VBA
    Bonjour,

    Je dois générer un fichier Xml via une macro VBA. Le problème est que je n'ai jamais fait cela et je n'ai aucune idée de comment commencer malgré de multiples recherches sur internet (XMLDOM ...non compris :/ )
    J'ai déjà un fichier xml existant, je dois reprendre la même structure pour en générer un nouveau.

    Voici une partie de mon fichier xml que j'ai récupéré.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?xml version="1.0" encoding="ISO-8859-1" standalone="true"?>
     
    -<DATAPACKET Version="2.0">
     
     
    -<METADATA>
     
     
    -<FIELDS>
     
    <FIELD fieldtype="i4" attrname="NUMERO"/>
     
    <FIELD fieldtype="string" attrname="CODE" WIDTH="4"/>
     
    <FIELD fieldtype="i4" attrname="NB"/>
     
    <FIELD fieldtype="string" attrname="INFO" WIDTH="80"/>
     
    <FIELD fieldtype="string" attrname="DISPOSITION" WIDTH="3"/>
     
    </FIELDS>
     
    <PARAMS/>
     
    </METADATA>
     
    -<ROWDATA>
     
    <ROW DISPOSITION="011" NB="1" CODE="P8" NUMERO="2"/>
     
    <ROW DISPOSITION="011" NB="1" CODE="P1" NUMERO="1"/>
     
    <ROW DISPOSITION="015" NB="1" CODE="P3" NUMERO="3"/>

    Je ne sais pas comment commencer, est ce que quelqu'un s'y connait et pourrait me donner un exemple ? svp

    Bien cordialement les développeurs

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,

    tiens : http://vb.developpez.com/faq/vbs?pag...u-document-XML

    c'est du VBScript mais facilement transposable en VBA...

  3. #3
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Par défaut
    Merci !
    Désolé pour le retard, j'étais de séjour à l'étranger. Merci pour ton retour en tout cas !

    Je viens de regarder le tuto.
    J'ai cependant encore un pb :

    Je souhaiterais supprimer la balise ROW lorsque CODE = P8.
    Voici ce que j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
           xmlDoc = CreateObject("Microsoft.XMLDOM")
            xmlDoc.Async = "false"
            xmlDoc.Load("C:\Users\Joris\Desktop\Test.xml")
     
            For Each oElement In From element In xmlDoc.<DATAPACKET>.<ROWDATA>.<ROW>
                     Where element.@CODE = "P8"
                ROW.Remove()
            Next
            xmlDoc = Nothing
    Malheureusement il y a un problème au niveau de la boucle. Je crois qu'il n'aime pas le "xmlDoc.".
    As-tu une idée ? stp

    Merci,

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    D'où sors-tu cette syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            For Each oElement In From element In xmlDoc.<DATAPACKET>.<ROWDATA>.<ROW>
                     Where element.@CODE = "P8"
    ?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je ne sais pas si c'est vraiment ça, mais cela m'inspire une sorte de "déjà vu"; du genre une requête LINQ dans VB.net.

Discussions similaires

  1. [XL-2003] générer un fichier .xls via vba
    Par mehdibens dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/02/2012, 21h21
  2. [JDOM]générer un fichier xml via SERVLET
    Par aba.com dans le forum APIs
    Réponses: 1
    Dernier message: 29/11/2010, 06h52
  3. Réponses: 6
    Dernier message: 15/02/2008, 11h10
  4. Générer fichier XML via XSD :
    Par comboDev dans le forum C#
    Réponses: 2
    Dernier message: 13/08/2007, 15h21
  5. Réponses: 2
    Dernier message: 27/05/2004, 00h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo