"Objet requis" quand je tente d'ouvrire une feuille excel dans Access

Vinceg76 Messages postés 19 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 20 mai 2010 - 9 avril 2010 à 16:46
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 15 avril 2010 à 18:46
J'essaye d'importer des cellules d'excel dans access mais, au moment de lancer, le débogueur me met "objet requis"

Public Sub essai()
Dim dbs As Database, rst As dao.Recordset
Dim xl_app As New Excel.Application
Dim objexcel As Object
Dim xl_feuille As Object
Dim wshnetwork As String
With xl_app
Set objexcel = Appli.Workbooks.Open("D:\test.xls")    '-->Juste ici !Pourtant test.xls
Set xl_feuille = objexcel.Sheets("feuil1")            'existe... je suis perdu, help !
End With
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("rpqs_test")
rst.Edit
rst![nom_de_la_collectivite] = xl_feuille.Range("B6:B6").Value
rst.Update
xl_app.ActiveWorkbook.Close
xl_app.Quit
Set xl_app = Nothing
Set objexcel = Nothing
End Sub

10 réponses

Vinceg76 Messages postés 19 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 20 mai 2010
9 avril 2010 à 16:57
PS : désolé pour la coquille, c'est *ouvrir pas ouvrire
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
9 avril 2010 à 17:13
Le fichier test.xls existe peut-être, par contre l'objet Appli, lui, à priori n'existe pas.

mais peut-être voulais-tu écrire xl_app à la place, non ?


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
Vinceg76 Messages postés 19 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 20 mai 2010
9 avril 2010 à 17:21
mon dieu, je suis resté toute l'après midi la dessus... J'ai honte de moi... franchement, merci !
0
Vinceg76 Messages postés 19 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 20 mai 2010
9 avril 2010 à 17:28
arf... c'était trop beau, maintenant, il me met "aucun enregistrement en cours" à la ligne

rst.edit    'je désespère...



Mais bon, tu m'as déjà ôté une épine du pied donc... merci encore !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vinceg76 Messages postés 19 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 20 mai 2010
14 avril 2010 à 21:12
Je bloque toujours sur le

rst.Edit

il continue de me retourner un "aucun enregistrement en cours"

Public Sub essai()
Dim dbs As Database, rst As dao.Recordset
Dim xl_app As New Excel.Application
Dim objexcel As Object
Dim xl_feuille As Object
Dim wshnetwork As String
'Set wshnetwork = WScript.CreateObject("WScript.Network")
'User = wshnetwork.UserName
'Chemin = InputBox("Entrer le chemin d'enregistrement des données", , "C:\My Documents\User")
With xl_app
Set objexcel = xl_app.Workbooks.Open("D:\test.xls")
Set xl_feuille = objexcel.Sheets("feuil1")
End With
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("rpqs_test")
rst.Edit 'Il s'arrète ici... "erreure 3021 : Aucun enregistrement en cours"
rst![nom_de_la_collectivite] = xl_feuille.Range("B6:B6").Value
rst.Update
xl_app.ActiveWorkbook.Close
xl_app.Quit
Set xl_app = Nothing
Set objexcel = Nothing
End Sub
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
14 avril 2010 à 21:23
ouh là. là ça risque d'être une colle pour moi. Il y a bien longtemps que je n'ai plus utiliser ces outils.

De mémoire, si je me souvient bien quand tu ouvre un recordset, il charge bien les enregistrements mais aucun n'est sélectionné.

Il faut que tu te déplace dans le recordset pour sélectionner en enregistrement et le rendre actif.

Tu dois avoir (toujours de mémoire) quelque chose comme rst.MoveFirst, rst.MoveNext, rst.MoveLast, ... pour te déplacer dans le recordset.

Essaye un rst.MoveFirst juste après avoir ouvert le recordset.

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
Vinceg76 Messages postés 19 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 20 mai 2010
14 avril 2010 à 21:31
Set rst = dbs.OpenRecordset("rpqs_test")
rst.MoveFirst 'même erreure, mais ici maintenant...
rst.Edit
rst![nom_de_la_collectivite] = xl_feuille.Range("B6:B6").Value
rst.Update
xl_app.ActiveWorkbook.Close
xl_app.Quit
Set xl_app = Nothing
Set objexcel = Nothing
End Sub
0
Vinceg76 Messages postés 19 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 20 mai 2010
15 avril 2010 à 16:35
Pas plus d'idées ?
0
Vinceg76 Messages postés 19 Date d'inscription mercredi 4 novembre 2009 Statut Membre Dernière intervention 20 mai 2010
15 avril 2010 à 18:34
Tant pis, peut-être qu'en créant un sujet rien que pour ce problème j'aurai une solution !
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
15 avril 2010 à 18:46
Non là, je vois pas.

A part que rpqs_test n'existe peut-être pas et donc le recordset n'est pas créé, sinon je ne vois pas.

Ou alors essaye peut-être les différentes options de OpenRecordset. Perso, je travaillais beaucoup avec l'option dynaset

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
Rejoignez-nous