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
|
'https://www.banque-france.fr/fileadmin/user_upload/banque_de_france/Economie_et_Statistiques/Changes_et_Taux/page3_quot.csv
Public Function GetCodeSource(sURL)
Dim Lapage_en_HTML As Object
Set Lapage_en_HTML = CreateObject("Microsoft.XMLHTTP") 'instancie l'object
Lapage_en_HTML.Open "GET", sURL & "?nocache= + Math.random()", False 'ouvre l'url dans l'Object
Lapage_en_HTML.Send ' envoie la requette
'selon si la variable "au_format_text" est a true ou falsele texte de sortie sera en html ou texte
GetCodeSource = Lapage_en_HTML.ResponseText
End Function
Sub recuperation_du_csV()
Dim textebrut As Variant, textetablo As Variant, tablo, lignes As Variant
URL = "https://www.banque-france.fr/fileadmin/user_upload/banque_de_france/Economie_et_Statistiques/Changes_et_Taux/page3_quot.csv"
textebrut = GetCodeSource(URL) 'on recupere le texte en entier
textetablo = Split(textebrut, "POUR")(UBound(Split(textebrut, "POUR"))) 'on supprime tout sauf le tableau des données
lignes = UBound(Split(textetablo, Chr(13))) ' on determines le nombres de lignes du tableau dans le csv
ReDim tablo(lignes, 7) 'on dimentionne la variable tablo avec le nombres de ligne et de colonne
For e = 1 To 10 'lignes - 1
For a = 0 To 6
tablo(e, a) = Split(Split(textetablo, Chr(13))(e), ";")(a)
'MsgBox Split(Split(textetablo, Chr(13))(e), ";")(a)
'DoEvents
Next
Next
Range("A1:G1", "A3").Resize(UBound(tablo), 7).ClearContents
Range("A2").Resize(UBound(tablo), 7) = tablo
[A1:G1] = Split(textebrut, Chr(13))(1)
End Sub |
Partager