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 :

Problème web scrapping


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 21
    Par défaut Problème web scrapping
    Bonjour,
    J'ai un soucis pour récupérer un tableau de données en web scrapping.

    erreur à la ligne For Each HTMLRow In HTMLTable.geElementsByTagName("tr") code erreur 438

    j'avais auparavant essayé une autre méthode et je tombais sur la m^me problématique
    On dirait que sur ma page HTML le probleme vient qu'il y a du formatage de colone avec le TAG "tr" déjà. "Nom : Code HTML.JPG
Affichages : 275
Taille : 219,0 KoC'est mon hypothèse sur la problématique".
    Comment puis je contourner
    Voici une autre image montrant ce que je souhaites récupérer et ce que je penses etre le truc qui fait merder
    Nom : Code HTML2.JPG
Affichages : 278
Taille : 222,0 Ko

    en jaune ce que je voudrais récupérer

    merki à une âme charitable








    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
    Sub ProcessHTMLPage(HTMLPage As MSHTML.HTMLDocument)
     
        Dim HTMLTable As MSHTML.IHTMLElement
        Dim HTMLTables  As MSHTML.IHTMLElementCollection
        Dim HTMLRow As MSHTML.IHTMLElement
        Dim HTMLCell As MSHTML.IHTMLElement
        Dim RowNum As Long, ColNum As Integer
     
     
    Set HTMLTables = HTMLPage.getElementsByTagName("table")
     
    For Each HTMLTable In HTMLTables
     
            Sheets("données_creation_FC").Range("A1").Value = HTMLTable.className
            Sheets("données_creation_FC").Range("B1").Value = Now
     
            RowNum = 2
            For Each HTMLRow In HTMLTable.geElementsByTagName("tr")
     
            ColNum = 1
            For Each HTMLCell In HTMLRow.Children
                Cells(RowNum, ColNum) = HTMLCell.innerText
                ColNum = ColNum + 1
            Next HTMLCell
     
            RowNum = RowNum + 1
        Next HTMLRow
    Next HTMLTable
     
     
     
     
     
     
     
     
    End Sub

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 242
    Par défaut
    Bonjour,
    Pour parcourir les lignes d'une table, essaie d'utiliser sa propriété Rows
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each HTMLRow In HTMLTable.Rows
    plutôt que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each HTMLRow In HTMLTable.geElementsByTagName("tr")

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 21
    Par défaut Merci pour le conseil mais ....
    Merci pour le conseil,
    j'ai changé ma ligne le programme ne plante plus mais il m'affiche en celulle B2 "Aucune donnée disponible".
    ????

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 242
    Par défaut
    Et en C2, en B3 pareil ?
    ça concerne toutes les colonnes ? toutes les lignes ?

    Ce qui est étonnant dans ton code c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For Each HTMLTable In HTMLTables
     
            Sheets("données_creation_FC").Range("A1").Value = HTMLTable.className
            Sheets("données_creation_FC").Range("B1").Value = Now
     
            RowNum = 2
    → Si tu as plusieurs tables, tu réécris au même endroit. Essaie de mettre la ligne d'initialisation de ta variable RowNum avant ta boucle pour voir...

  5. #5
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 21
    Par défaut Mode essai
    Je progresse doucement dans mon code et m'attarde dans un premier temps à extraire quelque chose de cette page. je ne me suis pas pris pour le moment la tête sur le comment ranger les données dans ma feuille, je le ferais dans un second temps dès que j'aurais compris ce qu'il faut écrire pour extraire quelque chose de cette page.
    En tout cas tout ce que j'essai de taper pour le moment me renvoi sans message d'erreur de mon script "Aucune donnée disponible"
    ?????
    Merci encore pour ton aide
    Je m'aide beaucoup du Tuto

  6. #6
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 21
    Par défaut Ce que j'essai de faire ...
    Je suis en train de créer une application en tant que prof pour noter les élèves par compétences.
    J'ai créer des formulaires dynamique sur ZOHO CREATOR, qui me renvois des tableaux de réponses. J’essaie maintenant de traiter sur feuilles excel de manière automatique ces données.
    JE sui déjà parvenu à faire ce genre de chose mais là je ne sais pas pourquoi ça résiste???? lol
    Qui plus ai j'ai essayé ce tuto qui passai par le XML pour accélérer le code. Ce qui pêche un petit peu sur mes premiers projet "un peu lent" mais fonctionnelle.Nom : Code HTML3.JPG
Affichages : 241
Taille : 305,4 Ko

Discussions similaires

  1. cherche solution pour problème web
    Par root76 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 02/07/2007, 17h25
  2. Problème Web Part Exchange
    Par Vincent Dieudonné dans le forum SharePoint
    Réponses: 8
    Dernier message: 09/05/2007, 09h35
  3. Problème Web service : C# - IIS 6.0 - windows server 2003
    Par identifiant_bidon dans le forum Services Web
    Réponses: 3
    Dernier message: 20/04/2007, 16h33
  4. Réponses: 1
    Dernier message: 06/12/2006, 11h01
  5. [Kylix] problème web service kylix
    Par RezzA dans le forum EDI
    Réponses: 3
    Dernier message: 11/02/2003, 14h50

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