Sly le globe trotter
XLDnaute Occasionnel
Bonjour le forum !
Tout d'abord merci pour l'aide précieuse apportée par tous les contributeurs ! ça facilite grandement les choses.
Je cherche à exporter à partir d'Excel des informations dans des tables Access. En recherchant sur le forum j'ai trouvé plusieurs messages qui m'ont permis de me lancer. Sauf que cette fois je coince...
Je souhaite exporter deux plages de valeurs dans deux tables différentes qui existent déjà sous Access. Sous Excel j'ai crée les plages de valeurs à rentrer sous Access.
Voici mon code :
Sub AjoutTable()
Dim Cat As New ADOX.Catalog
Dim Tbl As New ADOX.Table
Dim Conn As New ADODB.Connection
Dim rsT As New ADODB.Recordset
Dim maNouvelleTable As String
Dim i As Byte
Dim L As Long, C As Byte
Dim j As Integer
Dim Path As String
Path = "C:\essai\"
maNouvelleTable = Table1
With Conn
.Provider = "Microsoft.JET.OLEDB.4.0"
.Open Path & BaseMDB
End With
With rsT
.ActiveConnection = Conn
.Open maNouvelleTable, LockType:=adLockOptimistic
End With
For L = 1 To UBound(TabPlage1)
With rsT
' Ajout d'un nouvel enregistrement
.AddNew
' Parcours des informations dans la feuille de calcul
For C = 1 To 18
.Fields(C - 1).Value = TabPlage1(L, C)
Next
' Écriture du nouvel enregistrement dans la base de données
.Update
End With
Next L
rsT.Close
Set Tbl = Nothing
Set Cat = Nothing
Conn.Close
MsgBox "Export terminé"
End Sub
ça coince à l'éxécution à la ligne suivante : .Open maNouvelleTable, LockType:=adLockOptimistic.
Le message d'erreur apparait : Erreur d'éxécution '-2147217900 (80040e14)': Instruction SQL non valide; 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' ou 'UPDATE attendus.
Je n'arrive pas à corriger ce problème. Quelqu'un peut-il m'orienter svp ? Merci !
Tout d'abord merci pour l'aide précieuse apportée par tous les contributeurs ! ça facilite grandement les choses.
Je cherche à exporter à partir d'Excel des informations dans des tables Access. En recherchant sur le forum j'ai trouvé plusieurs messages qui m'ont permis de me lancer. Sauf que cette fois je coince...
Je souhaite exporter deux plages de valeurs dans deux tables différentes qui existent déjà sous Access. Sous Excel j'ai crée les plages de valeurs à rentrer sous Access.
Voici mon code :
Sub AjoutTable()
Dim Cat As New ADOX.Catalog
Dim Tbl As New ADOX.Table
Dim Conn As New ADODB.Connection
Dim rsT As New ADODB.Recordset
Dim maNouvelleTable As String
Dim i As Byte
Dim L As Long, C As Byte
Dim j As Integer
Dim Path As String
Path = "C:\essai\"
maNouvelleTable = Table1
With Conn
.Provider = "Microsoft.JET.OLEDB.4.0"
.Open Path & BaseMDB
End With
With rsT
.ActiveConnection = Conn
.Open maNouvelleTable, LockType:=adLockOptimistic
End With
For L = 1 To UBound(TabPlage1)
With rsT
' Ajout d'un nouvel enregistrement
.AddNew
' Parcours des informations dans la feuille de calcul
For C = 1 To 18
.Fields(C - 1).Value = TabPlage1(L, C)
Next
' Écriture du nouvel enregistrement dans la base de données
.Update
End With
Next L
rsT.Close
Set Tbl = Nothing
Set Cat = Nothing
Conn.Close
MsgBox "Export terminé"
End Sub
ça coince à l'éxécution à la ligne suivante : .Open maNouvelleTable, LockType:=adLockOptimistic.
Le message d'erreur apparait : Erreur d'éxécution '-2147217900 (80040e14)': Instruction SQL non valide; 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' ou 'UPDATE attendus.
Je n'arrive pas à corriger ce problème. Quelqu'un peut-il m'orienter svp ? Merci !