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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| Sub extraction()
On Error GoTo sortie:
'Dim url As String: url = "adresse url de ton site"
Dim element As Object, souselement As Object
Dim IEDoc As HTMLDocument
Dim IE As New InternetExplorer
IE.navigate url
IE.Visible = True
'patienter pour lancer l'extraction
Application.Wait Time + TimeSerial(0, 0, 5)
Do While IE.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
Set IEDoc = IE.document
'a voir ou se trouve le tableau
'Il suffit d'aller sur le site, de faire ctrl+maj+i (sous chrome) pour ouvrir la fenetre de développement.
'dans l 'onglet "Elements" tu as le code source,
'dans l 'onglet "console" tu as la console (là où tu pourras écrire du code javascript)
'et tu tapes : document.getElementsByTagName("tbody")
'Pour trouver la ligne javascript qui fonctionnera, c'est à taton.
'Rq: Il faut faire attention aux commandes utilisées:
'getElements.... -> renverra une collection d'éléments
'getElement... -> renverra un seul élément (dans mon exemple je prends le premier elements, l'index demarre 0)
Set element = IEDoc.getElementsByTagName("tbody").Item(0)
Dim numLigne As Integer, numColonne As Integer
For numLigne = 0 To element.Children.Length - 1
Debug.Print numLigne
Set souselement = element.Children.Item(numLigne)
For numColonne = 0 To souselement.Children.Length - 1
Cells(numLigne + 1, numColonne + 1).Value = souselement.Children.Item(numColonne).innerText
Next numColonne
Next numLigne
'libération de la mémoire
Set IEDoc = Nothing
IE.Quit
Set IE = Nothing
MsgBox "Import web terminé sans erreur"
Exit Sub
sortie:
Set IEDoc = Nothing
IE.Quit
Set IE = Nothing
MsgBox "Erreur. Vérifiez votre connexion à Internet"
End Sub |
Partager