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 :

IE attendre chargement JavaScript


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
    Juillet 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2011
    Messages : 32
    Par défaut IE attendre chargement JavaScript
    Bonjour à tous.

    Je suis en train de coder une macro qui intéragie avec une page internet explorer mais j'ai un soucis.

    Pour attendre la fin de chargement d'une page j'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dim ie as InternetExplorer
     
    Do Until ie.ReadyState = READY_COMPLETED
    DoEvents
    Loop
    A l'intérieur du code HTML de la page j'active un JavaScript qui me marque visuellement dans la fenêtre IE "chargement en cours" puis s'éxecute.
    Problème la page internet est déjà entièrement chargée pour IE et on ne rentre pas dans la boucle ci-dessus puisque Do Until ie.ReadyState = READY_COMPLETED est déjà vrai!

    J'ai cherché sur pas mal de post en vba mais je n'ai pas trouvé de solutions.

    Si quelqu'un peut me donner un petit coup de pouce ce n'est pas de refus.

    Bonne journée à tous, cordialement.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Regarde (sans garantie) du côté de

  3. #3
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonjour,

    essaie comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do While IE.readyState <> READYSTATE_COMPLETE
        DoEvents
    Loop
    (Code fourni par Qwazerty)

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2011
    Messages : 32
    Par défaut
    Bonjour mercatog et Godzestla,

    Tout d'abord merci à vous deux et je m'excuse pour une réponse aussi tardive de ma part.

    J'avais déjà essayé d'attendre le chargement javaScript avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do While IE.readyState <> READYSTATE_COMPLETE
        DoEvents
    Loop
    Malheureusement pour moi sans succès.

    J'ai aussi pensé à l'usage de ie.busy mais comment fonctionne cette propriété exactement? J'ai du mal à la cerner!

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour (sans garantie)
    tant que ton IE est occupé, on attends
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do While IE.busy
        DoEvents
    Loop

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2011
    Messages : 32
    Par défaut
    Bonjour mercatog,

    J'ai effectivement écris cette boucle mais ça ne fonctionne pas!

    J'avais vu sur d'autres post que l'on pouvait mettre busy = true ou false et je pensais avoir mal codé ma boucle à cause de ça.

    J'ai réussi à attendre le chargement du javascript en pointant sur l'élément "chargement en cours" et en utilisant nothing, une condition et une boucle.

    Bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Chargement JavaScript (ne s'exécute pas)
    Par gstratege dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/05/2015, 14h05
  2. Attendre chargement des images en cache
    Par yeste64 dans le forum Langage
    Réponses: 2
    Dernier message: 19/09/2011, 19h38
  3. [AS2] Charger plusieurs fichiers, attendre chargement
    Par charliejo dans le forum Flash
    Réponses: 1
    Dernier message: 10/05/2010, 17h20
  4. [Javascript] temps de chargement long
    Par rdams dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/02/2006, 16h56
  5. Attendre la fin du chargement de la page dans un WebBrowser
    Par core1 dans le forum Web & réseau
    Réponses: 5
    Dernier message: 15/06/2003, 04h12

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