Bonjour
Je souhaite faire une requête SQL sur un fichier CSV.
J’arrive à me connecter mais les colonnes du fichier ne sont pas correctement détectées.
Lorsque je fais un Select * sur le fichier, cela me renvoie pour chaque enregistrement tous les champs sur une même ligne, séparés par des « ; ».
Lorsque j’ouvre le fichier csv sur Excel, je vois pourtant chaque colonne correctement séparée.

Voici le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
 
'Connexion BDD
    Dim Cn As ADODB.Connection
    Set Cn = New ADODB.Connection
 
    With Cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=C:\Users\;Extended Properties='text;HDR=YES;FMT=CSVDelimited'"
        .Open
    End With
 
    'Résultat request
    Dim rsT As ADODB.Recordset
    Set rsT = New ADODB.Recordset
    rsT.Open "SELECT * FROM [fichierTest.csv]", Cn
 
    If Not rsT.EOF Then
 
        'Exportation du résultat
        Call ThisWorkbook.Worksheets("ResultRST").Range("$A$1").CopyFromRecordset(rsT)
 
    End If
 
    'Fermeture connexion
    rsT.Close
    Cn.Close
D’où vient le problem selon vous ? Je pense qu’il doit manquer une propriété dans le ConnectionString mais je ne sais pas laquelle.

Merci d’avance.