Bonjour,
J'ai tenté de faire un petit test (je débute avec ADO) pour rapatrier des données d'un fichier texte via ADO. Voici le codeLe problème est que si une ligne comprend des double quotes, tout ce qu'il y'a derrière est zappé.
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 Sub rapatrier_fichier_texte() Dim conn As ADODB.Connection Dim rec As ADODB.Recordset Set conn = New ADODB.Connection conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Doc\Temp\;Extended Properties=""text;HDR=Yes;FMT=tabDelimited""" Set rec = New ADODB.Recordset rec.Open select * from [mon_fichier.txt], conn, adOpenDynamic, adLockOptimistic with Sheet("Source") For i = 0 To rec.Fields.Count - 1 .Cells(1, i + 1) = rec.Fields(i).Name Next j = 2 Do While rec.EOF = False For i = 0 To rec.Fields.Count - 1 .Cells(j, i + 1) = rec.Fields(i).Value Next j = j + 1 rec.MoveNext Loop end with End Sub
ex: Avec un fichier contenant:
matricule nom prénom
01 toto jojo
02 titi "dit le fou" Pat
la requête renverra :
matricule nom prénom
01 toto jojo
02 titi
J'ai trouvé ceci sur le site http://cafeine.developpez.com/access...ugprint/#LVI-E mais c'est pour gérer les critères du where et je n'arrive pas à l'adapter.
Merci d'avance.
Partager