Sub ExporterVersAccess()
Dim bd As DAO.Database
Dim Rst As DAO.Recordset
Dim AccessCn As ADODB.Connection
'Connection à la base de données ACCESS
Set AccessCn = New ADODB.Connection
AccessCn.Provider = "Microsoft.Jet.Oledb.4.0"
Message = MsgBox("Vous devez maintenant sélectionner la base de données ACCESS dont vous voulez traiter l'indexation en automatique.", vbOKOnly, "Choix de la base de données ACCESS")
AccessCn.ConnectionString = Application.GetOpenFileName
ma_base = AccessCn.ConnectionString
AccessCn.Open
'Suppression des éléments de la table afin de la remplir par le résultat de l'indéxation automatique
Requete = "DELETE FROM maTable"
AccessCn.Execute Requete
'On spécifie la plage de données qui va être exporter vers la base ACCESS
With Worksheets("Feuil1")
dercol = (Feuil1.Cells(4, Cells.Columns.Count).End(xlToLeft).Column) - 8
derlig = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A4:" & lettre_col(dercol) & derlig).Name = "Plage"
End With
'Requête d'insertion des données traitées dans la table cible de la base ACCESS
Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel 8.0")
bd.Execute "INSERT INTO maTable IN '" & ma_base & "' SELECT * FROM [Plage]"
ThisWorkbook.Names("Plage").Delete
bd.Close
Set bd = Nothing
AccessCn.Close
Set AccessCn = Nothing
End Sub