Re : Données Excel vers Access
Voila la macro sur laquelle je comptais le plus, mais c'est la ligne en rouge qui me fait une erreur :
Sub ExportDonneesExcelDansAccess()
AjoutDansTableAccess "ProduitsBrun"
End Sub
Private Sub AjoutDansTableAccess(ProduitsBrun As String)
Dim ConnectBD As Object
Dim Rs As Object
Dim appExcel As Object
Dim Classeur As Object
Dim Feuille As Object
Dim i As Integer
Dim j As Integer
MyPath = ActiveWorkbook.Path
Application.StatusBar = "DARTY BRUN.xls"
' Déclaration de référence d'objet à une variable
Set appExcel = CreateObject("Excel.Application")
Set Classeur = appExcel.Workbooks.Open(MyPath & "\DARTY BRUN.xls")
Set Feuille = Classeur.Worksheets("BASE")
'Connexion à la base Access
ConnecterBase ConnectBD, Rs
With Rs
.CursorType = 1
.LockType = 3
.Open "SELECT * FROM [ProduitsBrun]", ConnectBD
'Ajout des enregistrements situés à partir de la ligne 2 afin d'éviter les entêtes de colonnes
For i = 7 To Feuille.Range("A65536").End(-4162).Row
.AddNew
.Fields("LIBELLE") = Feuille.Cells(i, 1)
.Fields("PVTTC") = Feuille.Cells(i, 2)
.Update
Next i
End With
Application.StatusBar = "réussite"
ConnectBD.Close
Classeur.Close
appExcel.Quit
' Met fin à l'association entre la variable et l'objet associé
Set appExcel = Nothing
Set Classeur = Nothing
Set Feuille = Nothing
Set ConnectBD = Nothing
Set Rs = Nothing
End Sub
Private Sub ConnecterBase(ConnectBD As Object, Rs As Object)
MyPath = ActiveWorkbook.Path & "\"
' Déclaration de référence d'objet à une variable
Set ConnectBD = CreateObject("ADODB.Connection")
Set Rs = CreateObject("ADODB.Recordset")
With ConnectBD
.Provider = "Microsoft.Jet.OLEDB.4.0"
'Ici le chemin et le nom de la base Access
.ConnectionString = MyPath & "DARTYBRUN03.mdb"
.Open
End With
End Sub
Voila.