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 :

Ajout d'enregistrements dans un fichier (vba)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2012
    Messages : 16
    Par défaut Ajout d'enregistrements dans un fichier (vba)
    Bonjour alors voilà j'aimerais avec vba (macro excel) pouvoir ouvrir mon fichier sonde.xml et y ajouter des mesures/Statut a chaque fois que le fichier excel est ouvert.

    Voilà ce que j'ai pour l'instant sous vba :

    Code vba : 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Sub Export()
    Set xmldoc = CreateObject("Microsoft.XMLDOM")
     
    Set oCreation = xmldoc.createProcessingInstruction("xml", "version='1.0' encoding='ISO-8859-1'")
    xmldoc.InsertBefore oCreation, xmldoc.ChildNodes.Item(0)
     
     
    Set root = xmldoc.createElement("Sonde")
        xmldoc.appendChild (root)
        Set MesureElement = xmldoc.createElement("Mesure")
     
        Set LocElement = xmldoc.createElement("Loc")
        LocElement.Text = "Sonde11"
     
        MesureElement.appendChild (LocElement)
     
        Set StatutElement = xmldoc.createElement("Statut")
        StatutElement.Text = "test"
     
        MesureElement.appendChild (StatutElement)
     
        root.appendChild (MesureElement)
     
    Set rdr = CreateObject("MSXML2.SAXXMLReader")
    Set wrt = CreateObject("MSXML2.MXXMLWriter")
    Set oStream = CreateObject("ADODB.STREAM")
    oStream.Open
    oStream.Charset = "ISO-8859-1"
     
    wrt.indent = True
    wrt.Encoding = "ISO-8859-1"
    wrt.output = oStream
    Set rdr.contentHandler = wrt
    Set rdr.errorHandler = wrt
    rdr.Parse xmldoc
     
    wrt.flush
     
    oStream.SaveToFile "C:\temp\sonde.xml", 2
     
    Set rdr = Nothing
    Set wrt = Nothing
    Set xmldoc = Nothing
     
     
    End Sub

    Ce que j'obtiens comme fichier :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
    <Sonde>
    	<Mesure>
    		<Loc>Sonde11</Loc>
    		<Statut>test</Statut>
    	</Mesure>
    </Sonde>

    Mais mon code ne me permet pas d'ajouter plus d'enregistrements, ce que je veux dire c'est que je voudrais pouvoir avec l'aide d'une variable insérer a chaque fois avant ou après dans le fichier c'est égal des enregistrements en plus. Sans avoir a rajouter du code. J'ai vu quon pouvait faire des recordsets,mais vba n'étant pas mon point fort je préfère avoir vos avis. MERCI a vous !


    Le résultat que j'aimerais avoir sur le fichier :

    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
    <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
    <Sonde>
    	<Mesure>
    		<Loc>Sonde11</Loc>
    		<Statut>Eteinte</Statut>
    	</Mesure>
                 <Mesure>
    		<Loc>Sonde27</Loc>
    		<Statut>Démarré</Statut>
    	</Mesure>
                 <Mesure>
    		<Loc>Sonde45</Loc>
    		<Statut>Démarré</Statut>
    	</Mesure>
    </Sonde>

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 161
    Par défaut
    Bonjour,
    peut tu donner un fichier d'exemple ?
    le fichier qui contient les données de sonde etc

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2012
    Messages : 16
    Par défaut
    Les fichiers des sondes en fait sont des macros excel qui prennent les mesures et les envoient dans un programme appellé eCount et moi j'aimerais en fait rajouter dans mes macros justement des codes permettant par exemple :

    Nous avons la macro de la sonde 11 elle se lance celle-ci prend les mesures et les met dans le programme eCount tout s'est bien passé donc j'envoie dans mon XML exemple : Sonde 11 / Mesure OK

    Pour cela il faudrait que je puisse load mon fichier sonde.xml et avoir du code pour rajouter en xml ça :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <mesure>
    <Loc>
    Sonde11
    </loc>
    <statut>
    OK
    </statut>
    </mesure>

    et cela pour toute mes sondes. Si vraiment besoin est je peux fournir le code, mais je ne pense pas que ce soit utile pour ce que j'ai besoin. Mais merci d'avoir demandé

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 161
    Par défaut
    Salut
    un petit lien pour patienter
    http://excel.developpez.com/faq/?page=XML

Discussions similaires

  1. Réponses: 5
    Dernier message: 02/05/2011, 13h22
  2. [WD12] Ajout d'enregistrements dans un fichier Hyperfile
    Par Falcon074 dans le forum WinDev
    Réponses: 2
    Dernier message: 04/11/2009, 14h18
  3. Réponses: 2
    Dernier message: 28/10/2008, 15h55
  4. [LG]supprimer un enregistrement dans un fichier
    Par Marcus2211 dans le forum Langage
    Réponses: 10
    Dernier message: 17/11/2003, 00h59
  5. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17

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