Excel macro Process trop long - Matériels & problèmes divers - Hardware
Marsh Posté le 25-01-2017 à 14:33:16
Salut,
J'y connais rien en macro Excell mais suffisament pour te dire que tu n'es pas dans la bonne rubrique
Marsh Posté le 25-01-2017 à 14:51:48
vladobar a écrit : Salut, J'y connais rien en macro Excell mais suffisament pour te dire que tu n'es pas dans la bonne rubrique |
Tout pareil
Marsh Posté le 25-01-2017 à 13:47:48
Bonjour,
J’ai un problème au niveau du temps d’acquisition qui est beaucoup trop long (6 min pour un fichier).
J’extrais sous vba des données provenant d’un fichier XML.
Mon process est long car je boucle X fois dans l’intégralité du fichier ! J’aimerais boucler sur un bloc de balise et passer à un autre bloc. Sur l’exemple du fichier donné ci-dessous je voudrais pouvoir boucler dans les balises « balisepere » et pouvoir extraire des valeurs (pas toutes) dans chaque nœud.
J’ai pu voir sur les forums des méthodes pour rentrer dans les balises excel mais je n’arrive pas à l’adapter.
Je vous mets aussi un bout de mon programme pour vous montrer la méthode que j’utilise que j’ai « adapté » pour le fichier xml que je vous ai mis.
For Xn = 0 To X - 1
'obtention des types
genre = oXML.getElementsByTagName("noeud1" ).Item(Xn).Attributes.getNamedItem("Type" ).NodeValue
ActiveSheet.Cells(Xn + i, 1) = genre
'si type = C ou S on recupere les données equipement
If genre = "Connector" Or genre = "Shell" Then
equipement = oXML.getElementsByTagName("noeud1" ).Item(Xn).Attributes.getNamedItem("tag" ).NodeValue
ActiveSheet.Cells(Xn + i, 3) = equipement
End If
For Yn = 0 To Y - 1
If xml_doc.getElementsByTagName("noeud2" ).Item(Yn).Attributes.getNamedItem("info" ).NodeValue = equipement Or xml_doc.getElementsByTagName("noeud2" ).Item(Yn).Attributes.getNamedItem("info2" ).NodeValue = equipement Then
pin = xml_doc.getElementsByTagName("noeud2" ).Item(Yn).Attributes.getNamedItem("info3" ).NodeValue
ref = xml_doc.getElementsByTagName("noeud2" ).Item(Yn).Attributes.getNamedItem(“tag" ).NodeValue
End If
Next Yn
Next Xn
vous qu'on peut pas inserer un fichier je vous copie un fichier exemple xml:
- <arbre>
- <balisepere type="">
- <sousbalise1>
<noeud1 tag="aa" type="cc" />
</sousbalise1>
- <sousbalise2>
<noeud2 info="aa" info2="dd" info3="dd" tag="zz" />
</sousbalise2>
</balisepere>
- <balisepere type="">
- <sousbalise1>
<noeud1 tag="aa" type="cc" />
</sousbalise1>
- <sousbalise2>
<noeud2 info="bb" info2="dd" />
</sousbalise2>
</balisepere>
</arbre>