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
|
Option Explicit
Dim Destination As String 'variable pour le chemin complet du fichier de destination
Dim l_URL As String ' variable pour le lien de la page html
Dim Lapage_en_HTML 'variable pour l'object "Microsoft.XMLHTTP"( l'object XML)
Public Function GetCodeSource(sURL)
Set Lapage_en_HTML = CreateObject("Microsoft.XMLHTTP") 'instancie l'object
Lapage_en_HTML.Open "GET", sURL 'ouvre l'url dans l'object
Lapage_en_HTML.Send
Do: DoEvents: Loop While Lapage_en_HTML.ReadyState <> 4 'attendre que la page soit chargée
GetCodeSource = Lapage_en_HTML.ResponseText
End Function
Sub recuperation()
Dim url As String, page As String, tablo As Variant, i As Long, oldtime, bartitre As Variant
Range("a1:g1000") = ""
bartitre = Array("NOM", "DATE", "COUR", "VARIATION", "OUVERTURE", "PLUS HAUT", "PLUS BAS")
For i = 0 To UBound(bartitre)
Cells(1, i + 1) = bartitre(i)
Next
oldtime = Time
url = "http://www.daily-bourse.fr/indice-bourse-CAC-ALL-SHARES-cotation-QS0010989141.php"
page = Split(Split(GetCodeSource(url), "blocblanc clear")(1), "Composition CAC ALL SHARES")(1)
tablo = Split(page, "title=""")
For i = 1 To UBound(tablo)
'récuperation des noms
Cells(i + 1, 1) = Split(Split(Split(tablo(i), " href=")(0), """>")(1), "</a>")(0)
'recuperation des dates
Cells(i + 1, 2) = Split(Split(tablo(i), "txtright"">")(1), "</td>")(0)
'récupération du cours
Cells(i + 1, 3) = Split(Split(tablo(i), "txtright"">")(2), "</td>")(0)
'récupération de variation
Cells(i + 1, 4) = Split(Split(Split(tablo(i), "txtright"">")(2), ">")(2), "<")(0)
'récupération de ouverture
Cells(i + 1, 5) = Split(Split(tablo(i), "txtright"">")(3), "</td>")(0)
'récupération de plus haut
Cells(i + 1, 6) = Split(Split(tablo(i), "txtright"">")(4), "</td>")(0)
'récupération de plus bas
Cells(i + 1, 7) = Split(Split(tablo(i), "txtright"">")(5), "</td>")(0)
Next
MsgBox "operation terminé en " & Format(Time - oldtime & " secondes", "ss")
End Sub |
Partager