Vba xml

Signaler
Messages postés
3
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
14 février 2008
-
Messages postés
29
Date d'inscription
mercredi 25 avril 2007
Statut
Membre
Dernière intervention
22 avril 2008
-
Bonjour,

Je dois extraire des donner d'un fichier xml en vba pour les utiliser dans une spreadsheet excel mais je ne connais pas bien le langage xml et je n 'ai aucune idee de la demarche a suivre.J'ai lu qu'il fallait utiliser un parser xml, j'ai essaye mais ca ne marche pas.
Si quelqu'un aurait la gentillesse de m'envoyer un exemple de fichier xml ainsi que le code vb de l extraction des donnees entre les noeuds ca serait formidable.
Si vous avez besoins d eclaircissements sur mon probleme 'hesitez pas.
Merci pour votre aide
nora

5 réponses

Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
Bonjour

Va voir ce lien, il t'aidera peut êtrte un peu à comprendre ce que c'est le XML.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
3
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
14 février 2008

merci pour le lien,
en fait c'est plus du point de vue vba que j'ai besoin d'aide.
Je cherche les instructions pour la librairie vba, ouvrir mon fichier xml,  le parcourir et extraire les donnees dont j'ai besoin.
Si quelqu'un avait un exemple de code ca me serait d'un grand secours parce qu c'est assez urgent. Je suis sure qu'il y a pleins de personnes perdues comme moi.lol
Merci
nora
Messages postés
29
Date d'inscription
mercredi 25 avril 2007
Statut
Membre
Dernière intervention
22 avril 2008

Bonjour,

peut-être que la partie de code écrite dans ma question dans ce forum te sera utile.
C'est par ici:

Il faut juste que tu saches que ca fonctionne mais c'est beaucoup trop long a l'exécution en ce qui concerne mon utilisation.
Mais ca peut déja te faire une piste.
Il paraitrait aussi qu'on puisse optimiser mon code avec les requètes xPath mais je n'ai pas encore trouvé mon bonheur. (je suis en train d'essayer avec SelectSingleNode ou SelectNodes)

Bonne chance a toi.
Messages postés
3
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
14 février 2008

Bonjour,


je n ai toujours pas reussi a extraire les donnees du fichier xml en vba en fait le fichier ne se load meme pas alors que j'ultilise la librairie Microsoft XML,v4.0

voici le fichier xml

 <?xml version="1.0" ?>
- <ENVIRONMENT>
  <DAY_DATE>0</DAY_DATE>
- <MARKET_MODEL NAME="NEW_MODEL">
  <CURRENCY NAME="EUR">Currency_2</CURRENCY>
  <CURRENCY NAME="FIXINGCURRENCY_EUR">Currency_2</CURRENCY>
- <DATA NAME="SPOT">
  <REAL NAME="SX5E">3810.01</REAL>
  </DATA>
- <SURFACE NAME="VOLATILITIES">
- <LABELS>
- <ROWS>
  <LABEL NAME="16D" /> 
  </ROWS>
- <COLUMNS>
  <REAL>10</REAL> 
  </COLUMNS>
  </LABELS>
- <VALUES>
- <ROWS>
  <REAL>0.56777265</REAL> 
  <REAL>0.24520498</REAL>
  </ROWS>
  </VALUES>
  </SURFACE>

  </MARKET_DATA>
- <MARKET_DATA NAME="Dividends Growths">
  <LABELS />
 
  </MARKET_DATA>
  </MARKET_DATA>
- <CURVE NAME="CORRELATIONS">
- <LABELS>
  <LABEL NAME="1Y" />
  </LABELS>
-
  <REAL>0.42</REAL>
 

  </CURVE>
  </MARKET_MODEL>
  </ENVIRONMENT>

et le code vb pour lire ce fichier est :

Sub ReadXML()
Dim xml_doc As New DOMDocument
Dim onode As IXMLDOMElement
Dim brtn As Boolean




brtn = xml_doc.Load("C:\Documents and Settings\test.xml")






intr = 2
If brtn Then
With Sheets("HIDE")
For Each onode In xml_doc.selectNodes("//SURFACE")
.Cells(intr, 1) = onode.getAttribute("NAME")
.Cells(intr, 2) = onode.Text
intr = intr + 1
Next
End With
Else
MsgBox "unable to open xml file"
End If
End Sub

le probleme est que je n arrive meme pas a loader le fichier

si quelqu un pouvait qui a connu les memes difficultes pouvaient m envoyer un exemple de ficher xml et de code vb correspondant ca me serait d une grande utilite.

Merci beaucoup pour votre aide
nora
Messages postés
29
Date d'inscription
mercredi 25 avril 2007
Statut
Membre
Dernière intervention
22 avril 2008

Bonjour Nora,
Si tu n'as pas supprimé de choses dans le fichier XML que tu as posté ici, alors, il y a une erreur (2) dans celui-ci.
Tu as 2 tags fermant </MARKET_DATA>
qui n'ont rien a faire là vu qu'il n'ont jamais été ouvert. Sur 3 existant, 2 ne devrait pas y être.
Essaye de changer ca pour voir si le xml se load correctement.