Erreur d'exécution '3265'

Le
adiakite Hors ligne
Bonjour,

Je bosse sur un projet en VBA. Mon code me génère l'erreur suivante quand je compile pas à pas "Erreur d'exécution '3265' Erreur défini par l'application ou par l'objet" lorsque le curseur arrive à cette ligne "Fields("Magasin") = Range("B" & r).Value". J'ai cherché on me dit que cette erreur signifie "3265 : adErrItemNotFound Aucun élément de la collection ne correspond au nom ou à l'ordinal demandé. Un nom de champ ou de table incorrect a été spécifié." je vérifie dans ma base les noms sont apparemment correct. Quelqu'un pourrait-il m'aider. Voici mon code en entier:
Sub FromExcelToAccess()
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gloops
Le #24495251
adiakite a écrit, le 18/05/2012 13:32 :
Bonjour,

Je bosse sur un projet en VBA. Mon code me génère l'erreur suivante quand je
compile pas à pas "Erreur d'exécution '3265' Erreur défini par l' application ou
par l'objet" lorsque le curseur arrive à cette ligne "Fields("Magasin ") =
Range("B"& r).Value". J'ai cherché on me dit que cette erreur signif ie "3265 :
adErrItemNotFound Aucun élément de la collection ne correspond au n om ou à
l'ordinal demandé. Un nom de champ ou de table incorrect a été sp écifié." je
vérifie dans ma base les noms sont apparemment correct. Quelqu'un pou rrait-il
m'aider. Voici mon code en entier:



(...)

Bonjour, est-ce que des fois l'espace devant le 2 ne poserait pas
problème ? Vu que je suppose que ça coince dès que r = 2.

Ah oui parce que quand on convertit un entier positif en chaîne de
caractères, il y a un espace, devant, qui correspond au signe.
Publicité
Poster une réponse
Anonyme