Function
GetColumnsFromFile(sPath
As String
,
Optional
sSepar
As String
=
";"
)
As String
()
Dim FF As Integer, sBuffer As String, aLines() As String, aCols() As String, i As Long, j As Long, aRes() As String
FF = FreeFile: i = 0: j = 0
On Error Resume Next
Open sPath For Input As #FF
sBuffer = Input(LOF(FF), #FF)
Close #FF
If Not (Err.Number = 0) Then Exit Function
aLines = Split(sBuffer, vbNewLine)
For i = 0 To UBound(aLines)
aCols = Split(aLines(i), sSepar)
If i = 0 Then ReDim aRes(UBound(aLines), UBound(aCols))
For j = 0 To UBound(aCols)
aRes(i, j) = aCols(j)
Next j
Next i
GetColumnsFromFile = aRes
Erase aLines: Erase aCols: Erase aRes
End Function
'
' EXEMPLE
Private Sub Form_Load()
Dim aFile() As String
Dim i%, j%
aFile = GetColumnsFromFile("C:\aaa.txt", "[MYSEP]")
For i = 0 To UBound(aFile)
For j = 0 To UBound(aFile, 2)
Debug.Print aFile(i, j)
Next j
Debug.Print "===================" & vbCrLf
Next i
End Sub