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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| Option Explicit
'Avec référence microsoft DAO 3.6 Object Library
Dim Donneestxt As DAO.Database
Dim Appli As Object
Dim Creation As Object
Dim Chemin As String
Dim NomFichier As String
Dim TexteRequete As String
Dim Requete As Recordset
Sub test()
Chemin = "C:\......\" ' a adapter
NomFichier = "LenomDuFichier.csv" ' a adapter
' Création de la base
' ton dossier désigné par la variable Chemin devient la base
' et chaque fichier texte présent dans ton dossier devient une table
Set Donneestxt = DAO.OpenDatabase(Chemin, False, False, "Text;Database=" & Chemin)
Set Appli = CreateObject("Scripting.FileSystemObject")
' Création du schema.ini pour déclaration du séparateur et des entêtes colonne
' ce fichier est lut dés la création de ta base(Donneestxt) et va initialiser tes tables
Set Creation = Appli.CreateTextFile(Chemin & "schema.ini", True)
Creation.Write "[" & NomFichier & "]" & vbCrLf
Creation.Write "Format=Delimited(;)" & vbCrLf
Creation.Write "ColNameHeader = True"
Creation.Close
'Création du Sql
TexteRequete = "SELECT F, B, D, E" & _
"FROM [" & NomFichier & "]" ' création du Sql
' éxécute la requête
Set Requete = Donneestxt.OpenRecordset(TexteRequete, DAO.dbOpenSnapshot)
' renvoi du résultat de la requête
Sheets("Feuil1").Range("A2").CopyFromRecordset Requete ' adapter pour le nom de la feuille
' On ferme et on déinstancie
Creation.Close
Set Creation = Nothing
Requete.Close
Set Requete = Nothing
End Sub |
Partager