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 :

Requete Web HTML pour récupérer les données dans Excel


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 74
    Par défaut Requete Web HTML pour récupérer les données dans Excel
    Bonjour,

    Je n’arrive pas à recupérer le body d’une page web dans une feuille excel.
    Comme vu avec PatrickToulon, j’ai essayé d’adapter les 2 solutions de code qu’il me proposa :

    la 1ere avec internet explorer
    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
    Sub test()
        Dim IE, URL, code, elem
        URL = "http://evpt-webprod.eu.airbus.corp/E760/displaySchedule.php?day=0"
        'URL = "https://en.wikipedia.org/wiki/2016%E2%80%9317_Ligue_1"
        Set IE = CreateObject("internetexplorer.application")
        IE.navigate URL: IE.Visible = True
        Do: DoEvents: Loop While IE.readyState <> 4
        With IE.document
            code = .getElementsByClassName(" gridbox gridbox_dhx_web isIE")(0).outerHTML
           End With
        IE.Quit
        With CreateObject("htmlfile")
            .body.innerHTML = code
            For Each elem In .all
                If elem.tagName = "TD" Then elem.innerHTML = elem.innerText
            Next
            If .parentWindow.clipboardData.setData("text", .body.innerHTML) Then
                With Sheets(1): Cells.Clear: .Cells(1, 1).Select: .Paste: End With
                .parentWindow.clipboardData.clearData ("text")
            End If
        End With
    End Sub
     Probleme : le lien URL = http://evpt-webprod.eu.airbus.corp/E...dule.php?day=0 me génère cette erreur :
    Erreur d’exécution ‘2147417848 (80010108)’ :
    Erreur automation
    L’objet invoqué s’est déconnecté de ses clients

    la 2nd solution avec une requête
    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
    Sub test2()
    Dim ReQ, URL, code, elem
    URL = "http://evpt-webprod.eu.airbus.corp/E760/displaySchedule.php?day=0"
       Set ReQ = CreateObject("microsoft.xmlhttp")
     ReQ.Open "POST", URL, False
    ReQ.send
    With CreateObject("htmlfile")
            .body.innerHTML = ReQ.responseText
            'Range("A12") = ReQ.responseText
             code = .getElementsByClassName(" gridbox gridbox_dhx_web isIE")(0).getElementById("gridboxOPS").outerHTML
    ‘code = .getElementsByClassName(" gridbox gridbox_dhx_web isIE")(0). outerHTML
    ‘code = .getElementsByClassName("gridbox gridbox_dhx_web isIE")(0). outerHTML
     
     
             .body.innerHTML = code
            For Each elem In .all
                If elem.tagName = "TD" Then elem.innerHTML = elem.innerText
            Next
            If .parentWindow.clipboardData.setData("text", .body.innerHTML) Then
                With Sheets("Feuil1"): Cells.Clear: .Cells(1, 1).Select: .Paste: End With
                .parentWindow.clipboardData.clearData ("text")
            End If
        End With
    End Sub
     Probleme :
    Le message suivant s’ affiche à cette ligne de code:
    code = .getElementsByClassName(" gridbox gridbox_dhx_web isIE")(0).getElementById("gridboxOPS").outerHTML

    Message errreur :
    Erreur d’exécution ‘438’ :
    Propriété ou méthode non gérée par cet objet.

    J’ai beau essayé plusieurs code ca ne fonctionne pas .

    La ligne HTML que je souhaite récupérer est celle ci:
    <div class=" gridbox gridbox_dhx_web isIE" id="gridboxOPS" style="width: 1915px; height: 595px; cursor: default;">
    Vous avez plus de précision dans la pj

    Merci d'avance pour votre temps

    Bonne journée
    Jerome
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2010] Récupérer les données dans un message HTML
    Par Daniel.C dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/04/2016, 11h26
  2. Réponses: 2
    Dernier message: 17/11/2015, 10h14
  3. Réponses: 4
    Dernier message: 16/06/2011, 12h07
  4. Réponses: 4
    Dernier message: 25/11/2010, 20h14
  5. [VBA-E]Formulaire word, récupérer les données dans excel
    Par sablier dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 30/05/2006, 07h38

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