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 :

Pilotage Internet Explorer


Sujet :

Macros et VBA Excel

  1. #321
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour itwoo
    il a grandi notre petit djedail
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  2. #322
    Membre actif
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2013
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 411
    Points : 231
    Points
    231
    Par défaut re
    Bonjour Pat,

    Merci ...suis toujours dans les tests mais ca marche nickel, ou alors s'il y a une erreur cela vient du code source de la page, de la présentation des datas...mais pas de toutes vos lignes de code jusqu'à présent

    Bien test en cours et ce week end une petite erreur s'est produite sur le 51° script (donc la page 51)...Une valeur qui ne cote pas normalement avec donc une ligne de datas qui bloque les split, replace...
    il est à noter que cela pourra surement à l'avenir se reproduire et qu'il faudra donc adapter le code en fonction des modifications faites par euronext.
    Voici cependant pour résoudre l'erreur en remontant simplement le On error resume next d'un niveau...dans la sub creationvbs2:

    Code : 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
    code = code & vbCrLf & "resultat = Replace(DemandeFichier.responseText, ""["", vbCrLf)" & vbCrLf & _
                 "tablo = Split(resultat, vbCrLf)" & vbCrLf & "Z = 0" & vbCrLf & _
                 "For i = 2 To UBound(tablo)" & vbCrLf & _
                 "tablo2(Z, 0) = Split(Split(tablo(i), ""\u003e"")(1), ""\"")(0)" & vbCrLf & _
                 "tablo(i) = Split(Split(tablo(i), ""/div\u003e"""","""""")(1), ""]"")(0)" & vbCrLf & _
                 "tablo2(Z, 1) = Split(tablo(i), """""","""""")(0)" & vbCrLf & _
                 "tablo2(Z, 2) = Split(tablo(i), """""","""""")(1)" & vbCrLf & _
                 "tablo2(Z, 3) = Split(tablo(i), """""","""""")(2)" & vbCrLf & _
                 "tablo2(Z, 4) = Split(tablo(i), """""","""""")(3)" & vbCrLf & _
                 "tablo2(Z, 4) = Replace(tablo2(Z, 4),""."","""")" & vbCrLf & _
                 "tablo2(Z, 4) = Replace(tablo2(Z, 4),"","",""."")" & vbCrLf & _
                 "On Error Resume Next" & vbCrLf & _
                 "tablo2(Z, 6) = Replace(Split(tablo(i), """""","""""")(5), Chr(34),"""")" & vbCrLf & _
                 "tablo2(Z, 5) = Split(Split(tablo(i), ""\u003e"")(1), ""\"")(0)" & vbCrLf & _
                 "Err.Clear" & vbCrLf & _
                 "If instr(tablo2(Z, 1), "",null"")>0 then" & vbCrLf & _
                 "tablo2(Z, 1) = split(tablo2(Z, 1),"""""",null"")(0)" & vbCrLf & _
                 "tablo2(Z, 2) = ""-"":tablo2(Z, 3) =""-"":tablo2(Z, 4) =""-"":tablo2(Z, 5) =""-"":tablo2(Z, 6) = ""-""" & vbCrLf & _
                 "End If" & vbCrLf & _
                 "On Error GoTo 0" & vbCrLf & _
                 "reponse = reponse & tablo2(Z, 0) & chr(9) & tablo2(Z, 1) & chr(9) & tablo2(Z, 2) & chr(9) & tablo2(Z, 3) & chr(9) & tablo2(Z, 4)& chr(9) & tablo2(Z, 5)& chr(9) & tablo2(Z, 6) & vbCrLf" & vbCrLf & _
                 "Z = Z + 1" & vbCrLf & _
                 "Next"

  3. #323
    Membre actif
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2013
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 411
    Points : 231
    Points
    231
    Par défaut façon de pointer un élément pour attendre le chargement d'une nouvelle page web sous IE
    Bonjour,

    un petit point à préciser lorsque navigation et ouverture de pages web successives avec requête par IE...
    Plus haut il y a utilisation par exemple de la rosace
    avec identification par son Id ("ajaxloader") ou de threadlist avec identification par son id ("threadlist") il n'y a pas de bloquage du processus car utilisation de IEDoc.getElementById:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set lgtb = IEDoc.getElementById("ajaxloader") 
        Do: DoEvents: Loop Until lgtb.Visible = False
    dans l'attente lgtb : Null : Variant/Null =>lgtb= Null
    Puis ensuite il y a chargement
    En revanche si le pointage ne porte pas sur un élément avec un id mais par exemple sur son classname et même si l'objet pointé est bien unique il y aura un bloquage à l'initialisation (aucun bloquage si user attend le chargement de la page pour pointage):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lgtb = IEDoc.getElementsByClassname("view-all-anchor")
    il n’y a bien qu’un seul élèment répondant mais en faisant comme cela problème car : lgtb : Nothing : Variant/Object cela bloque dans VBA le if lgtb = ...celui ci ne peut pas se charger, cela ne marche que si user a attendu volontairement le téléchargement complet de la page web avec un point d'arrêt avant de relancer VBA
    Donc il a falu remonter sur des éléments parents ayant un id pour effectuer la vérification de sécurité avec IEDoc.getElementById, et la plus de probléme.
    Pour le moment tout va toujours parfaitement bien

  4. #324
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut


    Salut,

    que de souvenirs !

    De par son comportement erratique selon la version d'IE, je ne fais plus confiance à getElementsByClassname
    mais lui préfère évidemment getElementByID ou encore GetElementsByTagName comme dans ma contribution
    [Pilotage Internet Explorer] Comment attendre la mise à jour d'un élément d'une page Web …

    _____________________________________________________________________________________________________
    Je suis Charlie, Bardo, Sousse
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #325
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Et oui que de souvenir!
    En effet le get elementsbyclassname et bien trop capricieux non seulement avec les versions de IE mais aussi selon le DOCTYPE
    DE TOUTE FACON il y a bien d autre moyen de crer une boucle d attente ou de le cibler
    tout simplement en creant une boucle simple"for each sur le tagname"
    Et dans cette boucle "if element.classname"
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #326
    Membre actif
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2013
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 411
    Points : 231
    Points
    231
    Par défaut yes
    oui des bons souvenirs

  7. #327
    Membre actif
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2013
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 411
    Points : 231
    Points
    231
    Par défaut re
    Bonjour,

    Pour vous signaler que depuis 2 semaines lors d'un lancement de grand nombre de requêtes sur Nasdaq.com est bien 1% environ des requêtes ne reviennent pas, il suffit alors de relancer ces 1% défectueux pour que les requêtes fonctionnent...cela ne se produisait pas avant, ca doit venir du site...
    Vérification en cours.
    A bientôt

  8. #328
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    salut itwoo c'es pas euronext plutot ?
    donne le dernier code que tu utilise
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #329
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut


    Salut !

    Citation Envoyé par itwoo Voir le message
    […] lors d'un lancement de grand nombre de requêtes sur Nasdaq.com est bien 1% environ des requêtes ne reviennent pas
    Justement quel est ce grand nombre de requêtes ?
    Car il peut dépendre aussi de la RAM disponible (et en espérant sans limite d'un nombre de process côté Windows) …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  10. #330
    Membre actif
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2013
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 411
    Points : 231
    Points
    231
    Par défaut Re
    Bonjour,

    Avant de vous répondre refait des essais et bien plus rien (j'ai mis 2-3 sécurités pour voir d'où cela pouvez venir mais plus rien pour le moment!!!)
    Le grand nombre c'est environ 300 requêtes, ce n'est pas si énorme, ca ne le fait plus, mais je vais retester ce WE car il y a peut être un probléme de maintenance du site le WE...par contre cela venait bien de Nasdaq et pas d'Euronext...
    A bientôt

  11. #331
    Membre actif
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2013
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 411
    Points : 231
    Points
    231
    Par défaut re
    Bonjour,

    Tests refaits encore une fois ce matin et résultat: AUCUN PROBLEME.
    Cela doit venir de temps en temps du site donc ce n'est pas grave ni insurmontable.
    Vraiment merci pour tout, c'est vraiment le bonheur grâce à votre aide
    bon WE

  12. #332
    Membre actif
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2013
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 411
    Points : 231
    Points
    231
    Par défaut retour téléchargement vide ca y est trouvé!!!
    Bonjour,

    Pour le Nasdaq sur certains intervalles de temps il peut y avoir une erreur, qui se produit de manière aléatoire lors d'un grand nombre de requêtes...sur environ 1% des cas.
    Par exemple si 300 valeurs à étudier et bien lors du lancement Ford peut bugger au 1° lancement puis ne plus bugger au 2° lancement...
    Mais la trés bonne nouvelle c'est que cela ne vient pas de votre code qui est nickel, non l'erreur enfin identifiée vient du retour de la requête en mettant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chaine = DemandeFichier.responseText
    il est possible d'identifier que parfois chaine n'est pas vide mais chaine ne contient pas non plus les datas, voici chaine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       : chaine : "<div id="quotes_content_left_pnlAJAX">
     
    </div>" : String
    Donc l’idée mettre un vérificateur qui soit présent dans toutes les chaines bonnes et pas dans celle fausses il s’agit du mot : Results soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not InStr(chaine, "Results") > 0 Then ag = True: Exit Sub
    Par contre pourquoi y a t'il ce probléme, surement une mauvaise connection, mais là je ne sais pas vraiment...
    En tous les cas avec une boucle de sécurité il suffit de relancer pour les valeurs défectueuses...
    Bonne journée

  13. #333
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour et merci de ton retour !

    Peut-être le site sature par moment …

    Déjà tu as la chance qu'il n'y ait pas de contrôle du nombre de requêtes reçues dans un intervalle court
    comme sur certains sites où l'émetteur peut se retrouver grillé rapidement sans pouvoir interroger
    de nouveau le site même par une navigation manuelle pendant 24h et parfois bien plus !

    En identifiant à coup sûr une requête défectueuse, il suffirait de la relancer au sein même de la procédure VBScript
    soit immédiatement soit après une pause de quelques secondes (entre dix et trente).
    Autre voie si besoin de les visualiser : une requête défectueuse doit renvoyer un code spécial dans la feuille de calculs
    puis prévoir une procédure n'émettant des requêtes uniquement pour ce code spécial …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  14. #334
    Membre actif
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2013
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 411
    Points : 231
    Points
    231
    Par défaut ok
    Bonjour,

    Oui c'est noté.
    TVB pour le moment, je suis très satisfait du résultat grâce à vous tous

+ Répondre à la discussion
Cette discussion est résolue.
Page 17 sur 17 PremièrePremière ... 71314151617

Discussions similaires

  1. Réponses: 193
    Dernier message: 13/12/2014, 07h48
  2. [XL-2010] Pilotage Internet explorer contenant javascript depuis excel
    Par anthony14123 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/12/2013, 15h08
  3. [XL-2003] Pilotage Internet Explorer
    Par clarinet dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 25/03/2013, 19h13
  4. Pilotage Internet Explorer
    Par bolof dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/09/2012, 21h25
  5. [OLE] Pilotage internet explorer
    Par yaclo dans le forum MFC
    Réponses: 4
    Dernier message: 22/03/2005, 20h03

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