Importer des données d'une feuille Excel dans Acces à l'aide de VB

cs_arte Messages postés 2 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 15 avril 2003 - 15 avril 2003 à 10:39
cs_morpheu Messages postés 5 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 10 janvier 2007 - 4 oct. 2004 à 12:46
J'ai un gros problème, je dois réaliser l'importation d'un tableau Excel dans une base de donnée access. Lorsque je lance l'importation, tout démarre correctement. Mais à la 27ème ligne de mon tableau XLS le programme s-e bloque et me donne le message d'erreur suivant :

-2147217887 Multiple-Step operation generated errors. Check each status value.

Please I need help!!!!!!!!!

Voici le code

Set TestDB = New ADODB.Connection
With TestDB
.CursorLocation = adUseClient
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TFE\DataBase\TestApplicationDB.mdb;Mode=ReadWrite;Persist Security Info=False"
.Open
End With

Set TestRS = New ADODB.Recordset
TestRS.Open "Select * from Cables", TestDB, adOpenDynamic, adLockOptimistic

With ObjExcel
Set Objworkbook = .Workbooks.Open(PathNewCablingFile)
For i = 2 To NumRecords + 1
On Error GoTo message
TestRS.AddNew
TestRS.Fields("CablingFile") = CablingFile
TestRS.Fields("CableNumber") = .Cells(i, 1)
TestRS.Fields("WireNumber") = .Cells(i, 2)
TestRS.Fields("Function1") = .Cells(i, 6)
TestRS.Fields("Function2") = .Cells(i, 7)
TestRS.Fields("PLCAddress") = .Cells(i, 8)
TestRS.Fields("Burndy") = .Cells(i, 11)
TestRS.Fields("V24") = .Cells(i, 9)
TestRS.Fields("Date") = Date
TestRS.Fields("Time") = Time
TestRS.Fields("UserName") = "Import"
ProgressBar1.Value = ProgressBar1.Value + 1
Next
TestRS.Update
Project = .Cells(2, 21)
End With

3 réponses

cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
15 avril 2003 à 10:58
Je passerais déjà en revue le contenu de tes cellules de la ligne 27.
Le type des données contenues dans ces cellules correspondent-elles bien à ce qui est attendu par Access ?

Je compléterais également ton .Cells(i, x) par .Cells(i, x).Text ou .Cells(i, x).Value...
Excel affichant parfois "27" alors que le contenu de la cellule est "= 20 + 7", il peut y avoir contradiction par rapport à ce que tu attends.

Est-ce toujours ta ligne 27 qui bloque ?
Et si tu lançais ta procédure à partir de la ligne 28, rencontres-tu le même problème ?

Est-ce que par hasard le classeur ne serait pas en train de recalculer la feuille alors que tu es en train de le lire ?

---
En espérant que ces hypothèses t'aideront à découvrir la faille...
0
cs_arte Messages postés 2 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 15 avril 2003
15 avril 2003 à 11:00
Merci pour ta réponse, je vais vérifier tout ca.
0
cs_morpheu Messages postés 5 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 10 janvier 2007
4 oct. 2004 à 12:46
neo : je souhaiterai automatiser l'import de données venant d'une feuille excel vers une table Access. Piloté par une macro Excel.

Pouvez vous me mettre sur la piste.

Merci d'avance

Mail : manzoni_christian@hotmail.com
0
Rejoignez-nous