Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

importation automatiques de données excel dans une base access

1 réponse
Avatar
adiakite
Bonjour,
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

1 réponse

Avatar
Gloops
adiakite a écrit, le 17/05/2012 15:59 :
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.Connecti on ».



Bonjour,

A mon avis, sur le site où tu as récupéré ce code, on a dû dire quelque
part de sélectionner une référence, et tu as oublié de le faire.

Partir d'un module, et trouver la commande Références dans le menu Ou tils.