Importation de données de excel vers access

Adiakite -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir,
Je suis un peu nouveau sur le forum. Au fait je développe actuellement une petite application en VBA pour importer automatiquement des données d'Excel vers Access. Je suis débutant en VBA, mais en cherchant sur le net j'ai pu écrire un code. J'ai un petit souci. Lorsque je compile le code que j'ai écris me génère une erreur du genre "Type défini par l'utilisateur non défini" et le curseur se pointe sur cette partie de mon code « cn As ADODB.Connection ». Quelqu'un pourrait t-il m'aider. Voici mon code complet en VBA que j'ai écris:
Sub ADOFromExcelToAccess()
Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
Chemin = ActiveWorkbook.Path
Source = Chemin & "\gestion stock.mdb"
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= " & Source & ";"
' open a recordset
Set rs = New ADODB.Recordset
rs.Open "[Etat stock]", cn, adOpenKeyset, adLockOptimistic, adCmdTable ' all records in a table
r = 2 ' the start row in the worksheet
Do While Len(Range("A" & r).Formula) > 0 ' repeat until first empty cell in column A
With rs
.AddNew ' create a new record
' add values to each field in the record
.Fields("Code article") = Range("A" & r).Value
.Fields("Magasin") = Range("B" & r).Value
.Fields("Emplacement") = Range("C" & r).Value
.Fields("Ref GE/Origine") = Range("D" & r).Value
.Fields("Libelle") = Range("E" & r).Value
.Fields("Qté en stock") = Range("F" & r).Value
.Fields("Qté mini") = Range("G" & r).Value
.Fields("Unité de mesure") = Range("H" & r).Value
.Fields("Coût unitaire moyen") = Range("I" & r).Value
.Fields("Coût total") = Range("J" & r).Value
.Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
A voir également:

1 réponse

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

ici et tu devrais trouver ce qui t'intéresse.

essaie avec
Dim cn As New ADODB.Connection
Mais je ne pratique pas ADO pour te guider plus...

eric
0