Sub test()
Dim MonTbloCSV, Fichier$
Fichier = "C:\Users\polux\DeskTop\moncsv.csv"
montabloCSV = GetTableCsV(Fichier)
'montabloCSV est en base 0
MsgBox montabloCSV(0, 0) 'le premier en haut a gauche
MsgBox montabloCSV(2, 2) 'le 3me ligne,3eme colonne
'2 arguments sont optional
'1° le séparateur avec le ";" par défaut
'2° 'header on peut sauter la première ligne (les entêtes )
End Sub
Function GetTableCsV(Fichier, Optional separateur As String = ";", Optional header As Boolean = False)
Dim laChaine As String, x, c&, i&, T, Q&
x = FreeFile: Open Fichier For Binary Access Read As #x: laChaine = String(LOF(x), " "): Get #x, , laChaine: Close #x
x = Split(laChaine, vbCrLf)
For i = IIf(header, 1, 0) To UBound(x): Q = UBound(Split(x(i), separateur)): c = IIf(Q > c, Q, c): Next
ReDim T(UBound(x), c)
For i = 0 To UBound(x)
Z = Split(x(i), separateur)
For a = 0 To UBound(Z)
T(i, a) = Z(a)
Next: Next
GetTableCsV = T
End Function