Bonjour,

Je dois importer des fichiers CSV dans des tables ACCESS.
J'utilise un code que j'ai trouvé sur ce site mais j'ai une erreur lorsqu'il traite la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Csv_CN.Execute "SELECT * INTO [" & NomTable & "] IN '" & _
        bd1 & "' From [" & FichCSV & "]", nbEnr
L'erreur est la suivante:
Erreur d'exécution '-2147217887(80040e21)'
Impossible de définir un champ plus d'une fois

Pouvez-vous m'aider?Merci

Ci-dessous le code utilisé
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
45
46
47
48
49
50
51
Sub tranfertCSV_Vers_NouvelleTableAccess()
    'Transfére un fichier CSV vers une nouvelle table Access
    'depuis une macro Excel.
    '
    'Nécessite d'activer la référence
    '"Microsoft ActiveX Data Objects x.x Library
    '
 
    Dim AccessCn As ADODB.Connection
    Dim AccessRst As ADODB.Recordset
    Dim Csv_CN As New ADODB.Connection
    Dim Csv_Rst As New ADODB.Recordset
    Dim DossierCSV As String, NomTable As String
    Dim FichCSV As String, bd1 As String
    Dim nbEnr  As Long
 
    'Répertoire du fichier CSV
    DossierCSV = "C:\MesSauvegardes\Transfert_20100202\network\20100202\001"
    'Nom du fichier CSV à transfèrer
    FichCSV = "aNETWORK_ADJCR.csv"
    'Chemin et nom de la base Access
    bd1 = "C:\Documents and Settings\PAAI08751\Mes documents\bd1.mdb"
    'Nom de la nouvelle Table Access
    NomTable = "ADJC"
 
 
    'Connection au fichier CSV
    Csv_CN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
        DossierCSV & ";Extended Properties='text;FMT=Delimited'"
    'Requète dans le fichier CSV
    Csv_Rst.Open "SELECT * FROM " & FichCSV, Csv_CN, _
        adOpenStatic, adLockOptimistic
 
    'Connection à la base de données Access
    Set AccessCn = New ADODB.Connection
    AccessCn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=" & bd1
 
 
    Csv_CN.Execute "SELECT * INTO [" & NomTable & "] IN '" & _
        bd1 & "' From [" & FichCSV & "]", nbEnr
 
 
    AccessCn.Close
    Csv_Rst.Close
    Csv_CN.Close
    Set AccessRst = Nothing
    Set AccessCn = Nothing
    Set Csv_Rst = Nothing
    Set Csv_CN = Nothing
End Sub