import fichiers CSV:code VBA NOK
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:
1 2
| Csv_CN.Execute "SELECT * INTO [" & NomTable & "] IN '" & _
bd1 & "' From [" & FichCSV & "]", nbEnr |
L'erreur est la suivante:
Citation:
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:
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 |