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 :

Tuto Qwazerty: Requête WEB et importation [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Par défaut Tuto Qwazerty: Requête WEB et importation
    Bonjour le Forum,

    En cours d'apprentissage sur les requêtes WEB et VBA, je me suis intéressé au Tuto de QWAZERTY, Fort bien construit soit dit en passant....

    Mais je pense que soit je n'arrive pas à faire fonctionner les codes présents dans le tuto, soit le tuto est obsolète avec les versions d'Excel 2013 et IE 11....

    Je viens juste de commencer avec ce code, qui ne veux pas "simuler un clic sur le bouton de recherche", à savoir que dans le Tuto le bouton de recherche Google est (en HTML) :
    Et que dorénavant il est :
    J'ai fait cette modif mais rien ne se fait....

    Voici le code entier:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Sub RechercheVBAExcel()
    'Inscrire du texte dans une zone de texte ex: zone de recherche google
    '*********************************************************************
     
    'Déclaration de variables
     
    'Dim IE As New InternetExplorer 'en référencant
    Dim IE As Object 'en Late Binding
    Dim IEDoc As HTMLDocument
    Dim InputGoogleZoneTexte As HTMLInputElement
    Dim InputGoogleBouton As HTMLInputElement
     
        Set IE = CreateObject("internetexplorer.application") 'en Late Binding
     
        'Chargement d'une page Web
        IE.Navigate "http://www.google.fr/"
     
        'Affichage de la fenêtre IE
        IE.Visible = True
     
        'Attente chargement
        WaitIE IE
     
        'on pointe le membre du document
        Set IEDoc = IE.document
        WaitDoc IEDoc
        'on pointe notre zone de texte
        Set InputGoogleZoneTexte = IEDoc.all("q")
     
        'on définit le texte que l'on veut saisir dans zone de rech
        InputGoogleZoneTexte.Value = "VBA Excel"
     
        'on pointe le bouton rech
        Set InputGoogleBouton = IEDoc.all("btnK") '------> NE FONCTIONNE PAS, PAS DE CLIC
     
        ' on simule un clic
        InputGoogleBouton.Click
     
        'Attente la fin de chargement
        WaitIE IE
     
        'libération de la variable
        Set IE = Nothing
        Set IEDoc = Nothing
     
    End Sub
    Sub WaitIE(IE As InternetExplorer)
    'Boucle tant que la page n'est pas totalement chargée
    '****************************************************
        Do Until IE.readyState = READYSTATE_COMPLETE
            DoEvents
        Loop
     
    End Sub
    Sub WaitDoc(doc As HTMLDocument)
      Do While Not doc.readyState = "complete"
        DoEvents
      Loop
    End Sub
    A la suite de ce tuto j'aimerai pouvoir récupérer pas mal d'info sur un site, que je ne peux citer ici dû aux CGU du site "développez.net".

    Je pense avoir besoin de vous au cours de mon apprentissage.

    Et merci de votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Par défaut Point d'arrêt
    Re,

    Après analyse, lorsque je place un point d'arrêt ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' on simule un clic
        InputGoogleBouton.Click
    puis que je l'enlève et relance la procédure cela fonctionne????

    Y aurait-il un problème d'attente?

    Si vous avez une explication !!!!!

    A+

  3. #3
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Par défaut
    Re,

    Bon j'ai essayé de changer le code afin de cibler directement Id du bouton, mais en vain
    Toujours pareil, il faut que je mette un point d'arrêt ici et relancer pour que la recherche se termine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' on simule un clic
        SelectGoogleBouton.Click
    Voici le code avec ID:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    Sub RechercheVBAExcel()
    'Inscrire du texte dans une zone de texte ex: zone de recherche google
    '*********************************************************************
     
    'Déclaration de variables
     
    'Dim IE As New InternetExplorer 'en référencant
    Dim IE As Object 'en Late Binding
    Dim IEDoc As HTMLDocument
    Dim InputGoogleZoneTexte As HTMLInputElement
    'Dim InputGoogleBouton As HTMLInputElement
    Dim SelectGoogleBouton As HTMLSelectElement
     
     
        Set IE = CreateObject("internetexplorer.application") 'en Late Binding
     
        'Chargement d'une page Web
        IE.Navigate "https://www.google.fr/"
     
        'Affichage de la fenêtre IE
        IE.Visible = True
     
        'Attente chargement
        WaitIE IE
     
        'on pointe le membre du document
        Set IEDoc = IE.document
            WaitDoc IEDoc
     
        'on pointe notre zone de texte
        Set InputGoogleZoneTexte = IEDoc.all("q")
     
        'on définit le texte que l'on veut saisir dans zone de rech
        InputGoogleZoneTexte.Value = "VBA Excel"
     
        'on pointe le bouton rech
        Set SelectGoogleBouton = IEDoc.getElementById("gbqfsa") ' ou Set InputGoogleBouton = IEDoc.all("btnK")
     
        ' on simule un clic
        SelectGoogleBouton.Click
     
        'Attente la fin de chargement
        WaitIE IE
        WaitDoc IEDoc
     
        'libération de la variable
        Set IE = Nothing
        Set IEDoc = Nothing
     
     
     
     
    End Sub
    Sub WaitIE(IE As InternetExplorer)
    'Boucle tant que la page n'est pas totalement chargée
    '****************************************************
        Do Until IE.readyState = READYSTATE_COMPLETE
            DoEvents
        Loop
     
    End Sub
    Sub WaitDoc(doc As HTMLDocument)
      Do While Not doc.readyState = "complete"
        DoEvents
      Loop
    End Sub
    A tchao

  4. #4
    Expert éminent
    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
    Par défaut

    Bonjour,

    là il n'est pas question de requête mais de pilotage d'Internet Explorer !
    Pour faire la différence, dans le forum Contribuez voir la contribution
    Automatiser l'ouverture d'un fichier compatible Excel depuis le Web (téléchargement)

    Pour une requête ne pas oublier aussi la fonction de feuille de calculs du menu Données : A partir du Web !
    QueryTable en VBA.

    Sinon indiquer clairement les manipulations en utilisation manuelle et le but recherché …

    __________________________________________________________________________________________________
    Tous unis, tous Charlie

  5. #5
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Par défaut
    Bonjour Marc,

    là il n'est pas question de requête mais de pilotage d'Internet Explorer !
    Certe, je suis dans la partie pilotage du tuto, c'est vrai.....

    sinon ma demande sur le tuto, et avec mon code, est :

    Pourquoi quand je lance la procédure, je ne vois pas le résultat de la recherche Google???
    Alors que si je mets un point d'arrêt ici et que je la relance, tout fonctionne.....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' on simule un clic
        InputGoogleBouton.Click
    Pour une requête ne pas oublier aussi la fonction de feuille de calculs du menu Données : A partir du Web !
    QueryTable en VBA.
    Je connais cette pratique, mais on en revient toujours au même point que dans un autre sujet que j'ai posté (ICI).

    Mais je ne veux pas faire doublon de mes post

    A+

  6. #6
    Expert éminent
    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
    Par défaut




    Donc tu n'as même pas navigué sur cette URL pour comprendre comment maintenant fonctionne cette page ?!
    Elle n'a plus rien à voir avec l'époque de la parution du tutoriel …

    Changer de page en prenant un cas concret ou sinon, expliquer enfin
    les manipulations lors de l'utilisation de cette page manuellement jusqu'au but recherché …

    Ne pas oublier avec le pilotage d'IE : ce qui est valable pour une page ne l'est pas forcément pour une autre,
    même sur le même site ! A la moindre modification du code source de la page, il faut tout revoir ! De l'éphémère …

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

Discussions similaires

  1. [SimpleXML] simplexml_load_file et requête Web
    Par neptune dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 26/09/2007, 11h31
  2. Réponses: 9
    Dernier message: 16/05/2007, 19h30
  3. Requêtes web: comment faire ?
    Par requin01 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 21/05/2006, 20h08
  4. [JBUILDER 9][WEBAPPS] web.xml importé.
    Par proner dans le forum JBuilder
    Réponses: 3
    Dernier message: 17/09/2003, 21h04

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