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 :

Récupérer des données du web à partir d'une feuille Excel [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Par défaut Récupérer des données du web à partir d'une feuille Excel
    Bonjour à tout le forum
    Je suis nouveau ici. Je vous ai souvent lu lors de mon apprentissage de VBA durant mon cursus universitaire.
    Mais aujourd’hui pour une application professionnelle, je sèche sur un point, et j’aimerais savoir si quelqu’un pouvait m’aider svp ?
    Voici le problème :
    sur une feuille Excel, j'ai plusieurs valeurs dans la colonne A
    pour chacune de ces valeurs je dois renseigner la valeur dans la zone de recherche d'une page web puis valider la recherche
    j’arrive sur une nouvelle page web et c'est sur cette page que je dois récupérer une donnée
    le problème est que que je n'arrive pas à pointer cette page web et à travailler dessus
    Voici le 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Sub extraction_Donnees()
     
    Dim IE As New SHDocVw.InternetExplorer
    Dim Doc As MSHTML.HTMLDocument
    Dim Ele As MSHTML.IHTMLElement
     
    IE.Visible = True
    IE.navigate "https://geco.amf-france.org/Bio/rech_opcvm.aspx"
     
    Do While IE.readyState <> READYSTATE_COMPLETE
    Loop
    'on attend
    Set Doc = IE.document
    'on pointe le document
    Set Ele = Doc.getElementById("CodePart")
     
    Ele.Value = "FR0007021670"
    'le champs recherche est renseigné de la valeur FR0007021670
    Set Ele = Doc.getElementById("valid_form")
    Ele.Click
     
     
    Do While IE.readyState <> READYSTATE_COMPLETE
    Loop
     
     
    'on lance la recherche et on arrive sur la page "https://geco.amf-france.org/Bio/info_opcvm.aspx?NumProd=19174"
    'en gros j'aimerais trouver le moyen de redefinir IE sur cette nouvelle page
    'or j'ai toujours IE.LocationURL qui vaut "https://geco.amf-france.org/Bio/rech_opcvm.aspx"
     
    MsgBox IE.LocationURL
     
    ...
     
    End Sub
    Merci d'avance pour votre aide
    Seb

  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
    Bonjour

    Repointe IE.document avec une attente pour laisser le temps à IE

    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
    Sub Extraction_Donnees()
    Dim IE As Object, Doc As Object, Ele As Object
    Dim Url As String, Rep As String
     
     
    Url = "https://geco.amf-france.org/Bio/rech_opcvm.aspx"
    Set IE = CreateObject("InternetExplorer.application")
    IE.Visible = True
    IE.navigate Url
     
    Do While IE.readystate <> 4
        DoEvents
    Loop
     
    Set Doc = IE.document
    Set Ele = Doc.getElementById("CodePart")
    Ele.Value = "FR0007021670"
    Set Ele = Doc.getElementById("valid_form")
    Ele.Click
     
    Do Until IE.locationurl <> Url
        DoEvents
    Loop
     
    Application.Wait (Now + TimeValue("0:00:01"))
    Set Doc = IE.document
    Set Ele = Doc.getelementsbytagname("table")
    'Ele(3) c'est notre résultat
    Rep = Ele(3).innertext
    IE.Quit
     
    MsgBox Rep
    End Sub

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Par défaut
    Bonsoir Mercatog
    C'est impeccable, c'est exactement ce que je souhaitais
    merci d'avoir pris le temps pour m'aider,
    je vous souhaite une bonne soirée

    Seb

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

Discussions similaires

  1. [XL-2010] Importer des données de plusieurs fichiers dans une feuille excel en VBA
    Par Alibel dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/10/2013, 15h16
  2. Réponses: 6
    Dernier message: 04/09/2008, 19h17
  3. Réponses: 5
    Dernier message: 06/02/2008, 00h16
  4. Réponses: 9
    Dernier message: 04/04/2007, 11h16
  5. Comment charger des données en mémoire à partir d'une BDD
    Par n@n¤u dans le forum Persistance des données
    Réponses: 2
    Dernier message: 20/02/2007, 11h53

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