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
|
Sub readCsvBizarre() ' recupe le texte complet avec binary acces read
Dim laChaine As String, x, fichier As String, l_array, entete, i&
fichier = "C:\Users\polux\DeskTop\Lalie_Fichier_Exemple.csv"
x = FreeFile
Open fichier For Binary Access Read As #x: laChaine = String(LOF(x), " "): Get #x, , laChaine
Close #x
laChaine = Replace(Replace(Replace(Replace(laChaine, Chr(34), ""), vbCrLf, ""), Chr(10), ""), Chr(13), "")
l_array = Split(laChaine, ";")
laChaine = Replace(laChaine, "Website;", "Website;" & vbCrLf)
For Each elem In l_array
If InStr(elem, "http://") > 0 Or InStr(elem, "https://") > 0 Then
laChaine = Replace(laChaine, elem & ";", elem & ";" & vbCrLf)
End If
Next
laChaine = Replace(laChaine, vbCrLf & vbCrLf, vbCrLf)
laChaine = Replace(laChaine, vbCrLf & vbCrLf, vbCrLf)
'maintenant les lignes sont corectes elles terminent toutes par le linck
'on choppe le header de colonne
l_array = Split(laChaine, vbCrLf)
entete = Split(l_array(0), ";") 'le header des colonnes
For i = LBound(l_array) To UBound(l_array)
If l_array(i) <> ";" Then Cells(i + 1, 1).Resize(1, UBound(entete)) = Split(l_array(i), ";")
Next
'Debug.Print laChaine
End Sub |
Partager