Erreur Do Until ie.readyState = READYSTATE_COMPLETE And ie.Busy = False
Invité
Bonjour
J'ai ce code pour essayer d'extraire les donnés d'un site web
Sub data()
Dim ie As InternetExplorer
Dim ht As HTMLDocument
Set ie = New InternetExplorer
ie.Visible = True
ie.navigate "Lien ici"
Do Until ie.readyState = READYSTATE_COMPLETE And ie.Busy = False
DoEvents
Loop
Application.Wait (Now + TimeValue("00:00:05"))
Set ht = ie.Document
pg = 1
While pg < 1000
Set elems = ht.getElementsByClassName("MA-yaxYe")
For Each elem In elems
lr = Sheet1.cells(Rows.Count, 1).End(xlUp).Row + 1
cells(lr, 1).Value = elem.getElementsByClassName("_3ZYtlagS")(0).innerText
cells(lr, 2).Value = elem.getElementsByClassName("z9YfZM2U")(0).innerText
cells(lr, 3).Value = elem.getElementsByClassName("_1bDQo_qc")(0).innerText
Next
Set pgbar = ht.getElementsByClassName("_2MOMDC2X")(0).getElementByTagName("li")
pgbar(pgbar.Length - 1).Click
If Err.Number <> 0 Then
pg = 1001
Else
Do Until ie.readyState = READYSTATE_COMPLETE And ie.Busy = False
DoEvents
Loop
Application.Wait (Now + TimeValue("00:00:05"))
End If
Wend
ie.Quit
End Submais ça donne toujours erreur sur ce ligne de code
je débute en vba
Do Until ie.readyState = READYSTATE_COMPLETE And ie.Busy = Falsemerci
NB:je ne peux pas encore publier des liens sur le forum
Invité
Bonjour eric,
Pour moi, vouloir utiliser IE qui est devenu obsolète et non sécurisé sur des sites bien souvent fait avec du CSS est impossible
Essayez d'utiliser PQ (Power Query) mais sous toute réserve
Ceci dit, vous semblez vouloir faire du Web Scraping
donc petit rappel de la charte de ce forum :
- Ne demandez rien d'illégal ou d'éthiquement discutable (comme par exemple le retrait d'un mot de passe VBA, l'extraction de données d'un site qui ne l'autorise pas, etc).
Cordialement.
Est-ce méchant de proposer de remplacer READYSTATE_COMPLETE par le chiffre 4
Do Until ie.readyState = 4 And ie.Busy = False