Sub test()
Const Path As String = "C:\Test\"
Dim cible As String, Source As String
Source = "Departement.csv"
cible = "Departement2.csv"
Const Champs As String = "Col1=Colonne_A Text" & vbCrLf & _
"Col2=Colonne_B Text" & vbCrLf & _
"Col3=Colonne_C Text" & vbCrLf
Dim Cn As Object
Set Cn = CreateObject("ADODB.Connection")
Cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & Path & "' ;Extended Properties=""text;HDR=YES;"""
If Dir(Path & cible) <> "" Then Cn.Execute "Drop Table [" & Replace(cible, ".", "#") & "]"
ShemaIni Path, Source, "Delimited(;)",Champs
ShemaIni Path, cible, "Delimited(;)", Champs, True
Cn.Execute "select * into [" & Replace(cible, ".", "#") & "] from [" & Replace(Source, ".", "#") & "] WHERE [Colonne_B] in('06','33')"
Cn.Close
MsgBox "Fin"
End Sub
Public Sub ShemaIni(Rep As String, Fichier As String, Delimited As String, Optional Champs As String = "", Optional Append As Boolean= False, Optional NewCsv As Boolean = False)
Dim txt As String
txt = "[" & Replace(Fichier, "#", ".") & "]" & vbCrLf & "Format=" & Delimited
If Champs <> "" Then txt = txt & vbCrLf & Champs
Dim FSO, NewFichier
Set FSO = CreateObject("Scripting.FileSystemObject")
Set NewFichier = FSO.OpenTextFile(Rep & "\schema.ini", Array(2, 8)(Abs(Append)), True)
NewFichier.Write txt
NewFichier.Close
If NewCsv = True Then
Set NewFichier = FSO.OpenTextFile(Rep & "\" & Replace(Fichier, "#", "."), 2, True)
NewFichier.Write ""
NewFichier.Close
End If
Set NewFichier = Nothing
Set FSO = Nothing
End Sub