Salut à Tous,
J'essaye d'importer dans un Fichier Excel, des données de fichier CSV.
Le soucis c'est qu'ils sont 250... Et les ouvrir un par un prend un temps important. J'ai donc essayé via les connexions ADO mais je suis bloqué
J'ai pas mal cherché sur les sites anglophone mais je ne trouve rien de concluant. Le dernier code que j'ai écrit et qui semble marcher mieux que les précédents est celui-ci:
Mais il bug sur la requête SQL =/ Set Rst = Cn.Execute(texte_SQL)
"The microsoft data base engine couldn't find the object"
Je ne sais pas quoi mettre dans texte_SQL =/ ni si quelqu'un à une autre méthode pour lire des CSV sans les ouvrir...
Question subsidiaire :
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 Sub Methode4() Dim Cn As ADODB.Connection Dim Fichier As String Dim NomFeuille As String, texte_SQL As String Dim Rst As ADODB.Recordset Dossier = "C:\Documents and Settings\..." FichierCSV = "Nomfichier.csv" Set Cn = New ADODB.Connection Cn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Dossier & ";Extended Properties = text" Cn.Open '----------------- texte_SQL = "SELECT * FROM [" & NomFichierCSV & "$]" Set Rst = New ADODB.Recordset Set Rst = Cn.Execute(texte_SQL) Range("A2").CopyFromRecordset Rst Cn.Close Set Cn = Nothing End Sub
Cn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Dossier & ";Extended Properties = text" --> Marche
Cn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Dossier & ";Extended Properties = text;HDR=YES;FMT=Delimited\" --> Marche pas hors c'est la ligne recommandée =/
Merci d'avance pour votre aide
Partager