| 12
 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