Bonjour,
Je suis actuellement en train de réaliser une macro pour récupérer des données provenant de plusieurs fichiers csv, et les mettre dans un fichier résultat xls.
Mon principale soucis, c'est que je n'arrive pas à faire la moindre requete un peu complexe :
- pas moyen de demander plusieurs champs
- pas moyen d'utiliser ORDER BY
Par contre, certaines requetes "simples" fonctionnent bien.
Le INTO fonctionne, le WHERE aussi, le CONCAT aucune idée, etc.
Je viens donc vous demander de l'aide pour faire fonctionner la requete suivante, voir si vous voyez si ma requête est mal formulée, ou si mes options de connexion ne sont pas bonnes, etc.
Notez que pour le moment, je fait bien cette requete, mais sans le INTO et le CONCAT. Tous les autres traitements sont fait sur un RecordSet, sauf que c'est atrocement long.
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
28
29
30
31 Dim connexion_dossier_csv As New ADODB.Connection With connexion_dossier_csv .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" & chemin_dossier_csv & ";" & _ "Extended Properties=""Text;HDR=No;""" .Open End With for i = 0 to nb_choix nom_feuille = "Choix" & i str_requete = "SELECT" & _ " A.[COL_1]," & _ " B.[COL_1]," & _ " CONCAT(A.[COL_1],B.COL_1])," & _ " B.[COL_2]," & _ " B.[COL_3]," & _ " A.[COL_2]," & _ " A.[COL_3]," & _ " A.[COL_4]" & _ " INTO [Excel 8.0;Database=" & chemin_fichier_sortie_xls & "].[" & nom_feuille & "]" & _ " FROM [" & chemin_fichier_csv_1 & "] A, [" & chemin_fichier_csv_2 & "] B " & _ " WHERE A.[COL_3] = B.[COL_4]" & _ " AND A.[COL_4] = '" & nom_feuille & "'" connexion_dossier_csv.Execute str_requete 'connexion_dossier_csv.Execute str_requete, nb_enr next i connexion_dossier_csv.Close Set connexion_dossier_csv = Nothing
J'suis preneur de toute idée ou tout commentaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 str_requete = "SELECT" & _ " A.[*]," & _ " B.[*]," & _ " FROM ..."
Merci d'avance.
Cyborg
Partager