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 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
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
Le problème est que si une ligne comprend des double quotes, tout ce qu'il y'a derrière est zappé.

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.