Bonjour Bubulle et le forum,
Tu peux t'inspirer de cet exemple, qui ajoute des enregistrements dans une table d'une base Access, via un recordset ADO, le tout à partir de la feuille Excel courante :
Sub Export_Excel_Access_ADO()
Dim oRge As Range
Dim Cn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
'Ouvrir la connexion ADO
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MaBase.mdb"
'Ouvrir le recordset
Rs.Open "MaTable", Cn, adOpenDynamic, adLockOptimistic, adCmdTable
With ActiveSheet
'Parcourir les cellules de la colonne A
For Each oRge In .Range("A1:A" & .Range("A65536").End(xlUp).Row)
With Rs
'Ajouter un nouvel enregistrement
.AddNew
'Valoriser les champs du nouvel enregistrement
.Fields("MonChamp1") = oRge.Value 'Colonne A -> MonChamp1
.Fields("MonChamp2") = oRge.Offset(0, 1).Value 'Colonne B -> MonChamp2
.Fields("MonChamp3") = oRge.Offset(0, 2).Value 'Colonne C -> MonChamp3
'Mettre à jour le nouvel enregistrement
.Update
End With
Next oRge
End With
'Fermer le recordset
Rs.Close
'Fermer la connexion ADO
Cn.Close
'Libérer les ressources
Set Rs = Nothing
Set Cn = Nothing
End Sub
Il suffit de coller ce code dans un module et de l'adapter à tes besoins.
Ne pas oublier d'ajouter la référence ADO (dans l'éditeur VBA : Outils > Références > Sélectionner "Microsoft ActiveX Data Objects 2.X Library")
Slts
wally