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

VBA Outlook Discussion :

VBA XML process trop long


Sujet :

VBA Outlook

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 9
    Par défaut VBA XML process trop long
    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
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Traitement XML trop long et plante
    Par corgato dans le forum Qt
    Réponses: 8
    Dernier message: 05/06/2010, 14h59
  2. Réponses: 0
    Dernier message: 12/01/2010, 10h51
  3. [VBA-E]Combobox et code trop long!! (debutante)
    Par legend dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/03/2006, 14h23
  4. [TComboBox] Contenu trop long pour la zone d'affichage
    Par bebeours dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/09/2003, 16h21
  5. Arrêter un prog si temps de connexion trop long
    Par jakouz dans le forum Langage
    Réponses: 4
    Dernier message: 22/10/2002, 18h28

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