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 :

Chargement d'un tableau wikipedia dans Excel [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

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 Chargement d'un tableau wikipedia dans Excel
    Bonjour,

    Je tourne en rond pour obtenir le chargement de la table « Managerial Changes » de la page Web suivante https://en.wikipedia.org/wiki/2016%E2%80%9317_Ligue_1 dans une feuille excel.

    J’arrive a faire le chargement de la page entière mais je souhaite savoir comment identifier et charger seulement ce tableau de changement de coach.

    Je me perd avec les <tr> et <td> :-s

    Merci d’avance pour votre retour

    Cdt
    jerome

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour
    montre ce que tu a essayé comme code et on t'aidera
    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
    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 [XLS 2010] Chargement tableau wikipedia dans Excel
    Bonjour

    Merci pour ton attention
    J'en ai trouvé plusieurs et le plus simple me semble être celui-ci mais j'ai une erreur.

    En espérant trouver une solution
    Cdt
    Jerome

    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
    Sub Sample2()
        Dim objIe As Object, xobj As HTMLDivElement
     
        Set objIe = CreateObject("InternetExplorer.Application")
        objIe.Visible = True
     
        objIe.navigate "https://en.wikipedia.org/wiki/2016%E2%80%9317_Ligue_1"
     
        While (objIe.Busy Or objIe.readyState <> 4): DoEvents: Wend
     
        Set xobj = objIe.document.getElementById("Managerial_changes")
        Set xobj = xobj.getElementsByClassName("wikitable sortable jquery-tablesorter").Item(0)
        Set xobj = xobj.getElementsByClassName("td")(0)
     
        Debug.Print xobj.innerText
     
        Set xobj = Nothing
     
        objIe.Quit
        Set objIe = Nothing
    End Sub

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Billets dans le blog
    8
    Par défaut re
    re
    bon c'est plutôt un bon debut
    il te reste la retranscription sur le sheets

    voila 2 solution parmi plein d'autre

    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
    Sub test()
        Dim IE, URL, code, elem
        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("wikitable sortable jquery-tablesorter")(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
    maintenant la 2d avec une requete
    c'est plus rapide!!!!!!!
    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
    Sub test2()
    Dim ReQ, URL, code, elem
    URL = "https://en.wikipedia.org/wiki/2016%E2%80%9317_Ligue_1"
       Set ReQ = CreateObject("microsoft.xmlhttp")
     ReQ.Open "POST", URL, False
    ReQ.send
    With CreateObject("htmlfile")
            .body.innerhtml = ReQ.responsetext
             code = .getelementsbytagname("table")(4).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(1): Cells.Clear: .Cells(1, 1).Select: .Paste: End With
                .ParentWindow.clipboardData.ClearData ("text")
            End If
        End With
    End Sub
    voila
    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

  5. #5
    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 [XL-2010] [Excel 2010] – Chargement de tableau wikipedia dans Excel
    Bonsoir,

    Milles merci pour ton code.
    Il fonctionne parfaitement bien, même quand je change de championnat eg. https://en.wikipedia.org/wiki/2016%E...Premier_League, il me suffit simplement de changer le numero de la table ici avec le (3). C'est hyper rapide le TOP!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With CreateObject("htmlfile")
            .body.innerhtml = ReQ.responsetext
             code = .getelementsbytagname("table")(3).outerhtml
    En revanche, vous me rendez fou de de maitriser à ce point le code .
    J'aimerai le maitriser aussi bien que toi mais je pars de tellement loin que je ne connais meme pas la technologie utilisé (xml, html etc...).

    Peut etre tu serais me donner de la lecture pour les Débutants comme moi dans le cadre de progresser sur des solutions d'interface entre WEB/Excel ?

    PS pour un premier départ, le top ce serait que tu me donnes de la lecture qui me permettent de déchiffrer ton code :-p.

    Encore Merci et bonne soirée
    Jerome

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Billets dans le blog
    8
    Par défaut re
    re
    OK pour commencer voila le tutoriel de qwazerty qui te donne une idée des possibité

    c'est le B A BA POUR le web/vba
    http://qwazerty.developpez.com/tutor...-et-vba-excel/

    pour la partie xmlhttp et"htmlfile" je te donnerais moi même quelques explication (car mes codes sont assez perso
    qui sont le fruit d'année d'expérience ) afin que tu puisse par toi même faire quelques essais

    déjà buche avec le tuto qwazerty quand tu aura tout compris tu saura faire pas mal de trucs

    A+
    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

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

Discussions similaires

  1. [XL-2007] Lier un tableau fait dans Excel à une commandbutton
    Par mamaug dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/05/2012, 19h23
  2. [WD-2002] Cellules décalées si copie tableau word dans excel
    Par Boubas1 dans le forum Word
    Réponses: 1
    Dernier message: 11/04/2009, 00h25
  3. [VBA Excel] Un tableau dynamique dans un type utilisateur?
    Par cyber_N dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/07/2006, 19h51
  4. exportation tableau acces dans excel
    Par gronul dans le forum Access
    Réponses: 3
    Dernier message: 12/06/2006, 12h49

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