Sub test()
Dim Rs As Object, i As Integer
Const MyRep = "C:\Myrep", AvecTitre = True
ShemaIn MyRep, "TOTO.CSV", "Delimited(|)"
With CreateObject("Adodb.Connection")
.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & MyRep & ";Extended Properties=""Text;HDR=" & Array("No", "YES")(Abs(AvecTitre)) & ";FMT=Delimited;"""
Set Rs = .Execute("select * from [TOTO#csv]")
If Not Rs.EOF Then
With Sheets("Feuil1")
For i = 0 To Rs.fields.Count - 1
.Range("A1").Offset(0, i) = Rs(i).Name
Next
.Range("A2").CopyFromRecordset Rs
End With
End If
.Close
End With
End Sub
Public Sub ShemaIn(Server As String, fichier As String, Delimited As String)
Dim txt As String
txt = "[" & fichier & "]" & vbCrLf & "Format= " & Delimited
Dim fso, NewFichier
Set fso = CreateObject("Scripting.FileSystemObject")
Set NewFichier = fso.OpenTextFile(Server & "\schema.ini", 2, True)
NewFichier.Write txt
NewFichier.Close
Set NewFichier = Nothing
Set fso = Nothing
End Sub