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:
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 :ptdr::ptdr:
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.
:D
Merci d'avance pour votre aide.
Bonne journée,
Thomas
Erreurs dans la structure du code
Bonjour,
Il y a quelques réarrangements à faire dans le code pour qu'il soit fonctionnel.
Code:
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.
@+