Bojnour,
J'utilise en VBA Excel la méthode ADO pour importer des données d'un fichier excel fermé, cependant je trouve des difficultés pour fair la même chose pour un fichier (.CSV).
La code utilisé est le suivant :
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
32
33
34
35
36
37
38
39
40
41
42
43
44 Sub import() Dim Cn As ADODB.Connection Dim oCat As ADOX.Catalog Dim Fichier As Variant Dim Feuille As ADOX.Table Dim Rst As ADODB.Recordset Dim texte_SQL As String Dim Ar() As String, i As Long Fichier = Application.GetOpenFilename("Fichier Excel, *.csv;*.xlsx") If Fichier = False Then Exit Sub Set Cn = New ADODB.Connection Set oCat = New ADOX.Catalog With Cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _ & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;""" .Open End With Set oCat.ActiveConnection = Cn For Each Feuille In oCat.Tables i = i + 1 ReDim Preserve Ar(i) Ar(i) = Feuille.Name Next Feuille texte_SQL = "SELECT Annee,Semaine FROM [" & Ar(1) & "]" Set Rst = New ADODB.Recordset Set Rst = Cn.Execute(texte_SQL) Feuil3.Range("C4").CopyFromRecordset Rst Set Feuille = Nothing Set oCat = Nothing Cn.Close Set Cn = Nothing
Je cherche comment adapter les ligne suivant pour un fichier (.CSV).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 With Cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _ & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;""" .Open End With
Merci d'avance pour vos aides.
Cordialement,
Max
Partager