[Access] Pb avec fermeture d'Excel
enigmatoile
Messages postés
730
Statut
Membre
-
Cristal -
Cristal -
Bonjour,
J'essaie de piloter Excel depuis Access.
Mon code fonctionne bien en apparence : ouverture d'excel, copie de données, sauveagrde et fermeture.
Mon problème : une instance d'Excel continue à tourner (pas demanière visible mais proccess présent dans le gestionnaire des taches). Cela empeche la bonn e exécution de mon code une deuxième fois. Lorsque je quitte Access, ce process Excel est tué.
Je suppose que j'ai un problème dans la libération des objets.
Can you help me?
Voici mon code :
Merci d'avance
J'essaie de piloter Excel depuis Access.
Mon code fonctionne bien en apparence : ouverture d'excel, copie de données, sauveagrde et fermeture.
Mon problème : une instance d'Excel continue à tourner (pas demanière visible mais proccess présent dans le gestionnaire des taches). Cela empeche la bonn e exécution de mon code une deuxième fois. Lorsque je quitte Access, ce process Excel est tué.
Je suppose que j'ai un problème dans la libération des objets.
Can you help me?
Voici mon code :
Private Sub btn_test_Click()
On Error GoTo Err_btn_test_Click
Dim xlApp As Excel.Application
Dim xlw As Excel.Workbook
Dim xls As Excel.Worksheet
Dim rst As DAO.Recordset
Dim strFichier As String
'Démarrage d'Excel
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
'Ouverture d'un classeur
Excel.Workbooks.Open ("C:\monchemin\modelebis.xls")
'Ouverture de la requete rqt_toto
Set rst = CurrentDb.OpenRecordset("rqt_toto")
'Transfert de données
xlApp.Range("B14").CopyFromRecordset rst
Worksheets("Feuil1").Cells(9, 2).Value = "essai"
'Sauvegarde et fermeture
ActiveWorkbook.SaveAs ("C:\monchemin\modeleter.xls")
xlApp.Quit
'Libération des objets
Set rst = Nothing
Set xls = Nothing
Set xlw = Nothing
Set xlApp = Nothing
Exit_btn_test_Click:
Exit Sub
Err_btn_test_Click:
Set rst = Nothing
Set xls = Nothing
Set xlw = Nothing
Set xlApp = Nothing
MsgBox Err.Description
Resume Exit_btn_test_Click
End Sub
Merci d'avance
A voir également:
- [Access] Pb avec fermeture d'Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
2 réponses
Salut,
Essaye de remplacer cette ligne :
Set xlApp = CreateObject("Excel.Application")
par celle-ci :
Set xlApp = New Excel.Application
Logiquement ça devraoit réagir pareil mais bon on sait jamais...
@+
Essaye de remplacer cette ligne :
Set xlApp = CreateObject("Excel.Application")
par celle-ci :
Set xlApp = New Excel.Application
Logiquement ça devraoit réagir pareil mais bon on sait jamais...
@+
Bonjour,
j'ai eu le même problème et je viens enfin de trouver une solution de contournement de ce qui semble être un bug crosoft.
La session Excel disparait du gestionnaire de tâche lorsque l'on ferme l'entité qui a ouvert Excel.
Certains parlent d'Access, mais si l'appel est réalisé depuis un formulaire, la fermeture du formulaire ferme aussi Excel.
Donc lorsque je clic sur mon bouton de lancement j'ouvre une fenêtre qui lance ma proc avec ouverture d'Excel et referme cette fenêtre quand ma proc est terminée.
Eric
j'ai eu le même problème et je viens enfin de trouver une solution de contournement de ce qui semble être un bug crosoft.
La session Excel disparait du gestionnaire de tâche lorsque l'on ferme l'entité qui a ouvert Excel.
Certains parlent d'Access, mais si l'appel est réalisé depuis un formulaire, la fermeture du formulaire ferme aussi Excel.
Donc lorsque je clic sur mon bouton de lancement j'ouvre une fenêtre qui lance ma proc avec ouverture d'Excel et referme cette fenêtre quand ma proc est terminée.
Eric
Merci quand même ...
Essaye de placer un DoEvents dans ton code à plusieurs endroits!
Autrement je vois plus rien d'autre!
Désolé
@+