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 :

VBA & IE : pose d'un espion qui reste vide [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2014
    Messages : 15
    Points : 15
    Points
    15
    Par défaut VBA & IE : pose d'un espion qui reste vide
    Bonjour à tous !

    Je poste dans ce forum car j'ai un problème avec la pose d'un espion dans mon code (je dois surement m'y prendre mal ou bien alors le site n'est pas réceptif).
    En effet, je cherche à m'entrainer à explorer une page web grâce à l'excellent tuto de qwazerty.

    Voici donc mon code :

    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
    24
    25
     
    Sub RecupCodesAuchan()
    'Déclaration des variables
    Dim IE As Object
    Dim IEDoc As HTMLDocument
     
     
    'Identifier IE comme un objet
    Set IE = CreateObject("InternetExplorer.Application")
    'Rendre la navigation visible/invisible
    IE.Visible = True
     
    'Lancer IE
    IE.Navigate URL:="http://www.auchandrive.fr/drive/recherche/P791703"
    'Attendre le chargement complet de la page
    Do Until IE.readyState = 4
        DoEvents
    Loop
     
    'Déclarer IEDoc comme objet
    Set IEDoc = IE.document
     
    Set IE = Nothing
     
    End sub
    Je place mon cran d'arrêt sur Set IE = Nothing. Puis mon espion sur "IE". Viens ensuite le problème, je peux développer l'espion IE mais pas "document" qui se situe dans IE (j'espère que je suis assez compréhensible ).

    Les références que j'ai activées :
    • Microsoft HTML Object Library
    • Microsoft Internet Controls



    J'espère vous avoir communiqué assez d'informations,


    Merci d'avance pour votre réponse,

    Guillaume

  2. #2
    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 heu
    Bonjour je cite ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'Déclarer IEDoc comme objet
    Set IEDoc = IE.document
     
    Set IE = Nothing
     
    End sub
    si Ie =nothing IEdoc est mort aussi

    d'autant plus que tu fait l'amalgame avec le early binding et le late binding
    en effet tu déclare ta variable IEDoc en tant que document html donc en early binding ce qui implique que les références soit activée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim IEDoc As HTMLDocument
    hors ta variable IE est un Object et devient une instance de l'application internet par la ligne " createObject" donc en (late binding)

    donc en late binding tout est en Object et en early binding sont nommé et les références doivent êtres activées
    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

  3. #3
    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
    code fonctionel

    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
    24
    25
    26
    Sub RecupCodesAuchan()
    'Déclaration des variables
    Dim IE As Object, IEDoc As Object
     
     
    'Identifier IE comme un objet
    Set IE = CreateObject("InternetExplorer.Application")
    'Rendre la navigation visible/invisible
    IE.Visible = True
     
    'Lancer IE
    IE.Navigate URL:="http://www.auchandrive.fr/drive/recherche/P791703"
    'Attendre le chargement complet de la page
    Do Until IE.readyState = 4: DoEvents: Loop
     
    'Déclarer IEDoc comme objet
    Set IEDoc = IE.document
     
    ' le reste de ton code ici
     
    'on quit internet 
    IE.quit
    'on vide la variable
    Set IE = Nothing
     
    End Sub
    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

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2014
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    Salut Patrick !

    Je n'ai pas tout compris mais il me semble que si je mets mon cran d'arrêt sur la dernière ligne (Set IE = nothing), ce code n'est pas lu par VBA, du coup je ne pense pas que l'erreur soit de ce côté.
    J'ai bien testé ton code, mais ce dernier ne fonctionne pas non plus : j'obtiens le même résultat, à savoir je peux développer mon espion (IE) une fois, mais pas plus (en ce qui concerne "document").
    D'ailleurs tu remarqueras que si on met l'espion sur IE.document (ce qui revient à développer l'espion IE puis document), alors l'espion est vide.

    Est ce que cela peut venir du site en lui même ?

    Merci pour ton aide rapide,

    Guillaume

  5. #5
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    La question a été posée sur le fil du tutoriel, en fait pour résoudre ton problème il suffit de mettre l'espion sur IEDoc.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2014
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    Salut !

    Merci encore une fois pour ton tuto et surtout pour ta réponse !!
    Tout fonctionne. Je présume que cela vient du fait que j'ai affecté IE.document à une variabke HTMLDocument qui permet ce genre de manipulation ?

    Merci encore,

    Guillaume

  7. #7
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    Oui, il semblerait que cela vienne du fait que VBE ne sache pas interpréter le contenu de la variable document directement dans IE ne sachant pas à quoi elle correspond.
    Mais bon je suis dans l’expectative, je ne saisi pas trop où se trouve le problème exactement pour être franc, il faudrait sans doute que j'y passe un peu de temps .

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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

Discussions similaires

  1. ProgressBar qui reste vide
    Par dragonxav72 dans le forum GTK+
    Réponses: 6
    Dernier message: 27/04/2013, 15h22
  2. DataGridView via Linq qui reste vide
    Par sphynxounet dans le forum C#
    Réponses: 3
    Dernier message: 16/09/2010, 11h12
  3. [MySQL] Function php et array qui reste vide
    Par christophe1245 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 20/03/2010, 17h13
  4. Applet sans erreur qui reste vide (grise)
    Par savageman86 dans le forum Applets
    Réponses: 2
    Dernier message: 29/05/2009, 22h05
  5. [AJAX] 3 liste lièes en Ajax dont une qui reste vide
    Par mimotin dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 19/08/2008, 20h40

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