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 :

Run time error 91 - extraction de données d'une page web


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 Chercheur
    Inscrit en
    Octobre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Octobre 2015
    Messages : 16
    Par défaut Run time error 91 - extraction de données d'une page web
    Bonjour,

    Je travaille sur de l'extraction de données des pages du site http://www.kisskissbankbank.com/fr/discover/successful . Comme vous le verrez, il y a plusieurs projet sur le site et je voudrais que mon document excel reprenne chaque lien vers chaque projet, non seulement pour la première page mais également pour les autres pages (1077 pages). J'ai alors écrit le code suivant:
    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 step1()
     
        Dim IE As New InternetExplorer
        Dim t As Integer
        Dim j As Integer
        Dim i As Integer
        t = 1
        j = 1
        i = 0
        For j = 1 To 1
        For i = 0 To 8
        IE.Visible = False
        IE.navigate "http://www.kisskissbankbank.com/fr/discover/successful?page=" & j
        Do
        DoEvents
        Loop Until IE.readyState = READYSTATE_COMPLETE
        Dim Doc As HTMLDocument
        Set Doc = IE.document
        Cells(t, 1) = Trim(Doc.getElementsByClassName("project")(i).getElementsByClassName("widget")(0).getElementsByClassName("description")(0).getElementsByTagName("a")(0).href)
        t = t + 1
        Next
        Next
        End Sub
    J'ai cependant du faire une erreur quelque part car après les premières pages extraites, tout s'arrête et j'ai "run time error 91".Cela me rend fou

    Un petit coup de main serait nécessaire. Si quelqu'un a déjà rencontré ce problème, n'hésitez pas à m'indiquer où je peux trouver la solution.

    Merci d'avance pour votre aide.

    Bonne journée,

    Thomas

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 35
    Par défaut Erreurs dans la structure du code
    Bonjour,

    Il y a quelques réarrangements à faire dans le code pour qu'il soit fonctionnel.

    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
    Option Explicit
     
    Sub step1()
     
        Dim Sht As Worksheet
        Set Sht = ThisWorkbook.Sheets(1)
     
        Dim IE As InternetExplorer
        Set IE = New InternetExplorer
        IE.Visible = False
     
        Dim Doc As HTMLDocument
     
        Dim t As Integer, j As Integer, i As Integer
     
        t = 1
     
        For j = 1 To 1722
            IE.navigate "http://www.kisskissbankbank.com/fr/discover/successful?page=" & j
            Do
                DoEvents
            Loop Until IE.readyState = READYSTATE_COMPLETE
            Set Doc = IE.document
            For i = 0 To 8
                Sht.Cells(t, 1) = Trim(Doc.getElementsByClassName("project")(i).getElementsByClassName("widget")(0).getElementsByClassName("description")(0).getElementsByTagName("a")(0).href)
                t = t + 1
            Next
        Next
     
        Set Doc = Nothing
        IE.Quit
        Set IE = Nothing
     
    End Sub
    Je l'ai testé pour 20 pages sans problèmes.

    @+

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Octobre 2015
    Messages : 16
    Par défaut
    Merci pour vos info. J'essaie cela tout de suite.

    Bonne journée,

    Thomas

Discussions similaires

  1. [RegEx] Extraction de données d'une page web
    Par tito26 dans le forum Langage
    Réponses: 3
    Dernier message: 27/08/2011, 18h30
  2. [XL-2003] Run-time error '13': Type mismatch lors d'une comparaison
    Par FuNKyMIkE dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/09/2009, 02h40
  3. Extraction de données d'une page web
    Par morgan47 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 02/03/2007, 02h19
  4. extraction de données d'une page web en exploitant les RSS
    Par rose_des_sables dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 18/02/2007, 12h50
  5. bug dans programme d'extraction de données d'une page web
    Par youpimevla dans le forum Web & réseau
    Réponses: 11
    Dernier message: 31/08/2006, 11h02

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