Access ne ferme pas excel

Le
bruno.lindis
Bonjour,

Un module access ouvre un classeur excel et le traitement se déroule
sans problème jusqu'à la fin.

Le problème est que le processus excel lui continue malgré un "
xlApp.Quit". Si je relance le module il plante tant que je n'ai pas
killé excel sous le gestionnaire de tâche

Comment faire pour que le module arrête bien la session excel qu'il a
lancé ?

Merci
A+

--
-- Otez le second point pour me contacter
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
Michel_D
Le #6365431
Bonjour,

Bonjour,

Un module access ouvre un classeur excel et le traitement se déroule
sans problème jusqu'à la fin.

Le problème est que le processus excel lui continue malgré un "
xlApp.Quit". Si je relance le module il plante tant que je n'ai pas
killé excel sous le gestionnaire de tâche ...

Comment faire pour que le module arrête bien la session excel qu'il a
lancé ?


Montre le code que tu as utilisé.

Normalement il faut utiliser GetObject(,"Excel.Application") si une
instance d'Excel existe sinon on utilise
CreateObject("Excel.Application") et ensuite tu ouvre ton Workbook
Workbooks.Open(...) quand tu as fini tu ferme ton Workbook (Close)
et tu quitte l'appli Excel (Quit), je l'utilise de cette manière
dans un script VBS sans aucun problème.

bruno.lindis
Le #6365421
Bonjour,

Bonjour,

Un module access ouvre un classeur excel et le traitement se déroule
sans problème jusqu'à la fin.

Le problème est que le processus excel lui continue malgré un "
xlApp.Quit". Si je relance le module il plante tant que je n'ai pas
killé excel sous le gestionnaire de tâche ...

Comment faire pour que le module arrête bien la session excel qu'il a
lancé ?


Montre le code que tu as utilisé.

Normalement il faut utiliser GetObject(,"Excel.Application") si une
instance d'Excel existe sinon on utilise
CreateObject("Excel.Application") et ensuite tu ouvre ton Workbook
Workbooks.Open(...) quand tu as fini tu ferme ton Workbook (Close)
et tu quitte l'appli Excel (Quit), je l'utilise de cette manière
dans un script VBS sans aucun problème.


Le source allégé de quelques ligne mais la structure est là :

Set rec = CurrentDb.OpenRecordset("R_PRU_test", dbOpenSnapshot)
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add


nomFichierExcel = "..."
Set xlSheet = xlBook.Worksheets.Add(,
xlBook.Worksheets(xlBook.Worksheets.Count))
xlSheet.Name = entiteCourant & processusCourant
[remplissage titre feuille]
Do While Not rec.EOF
xlBook.SaveAs nomFichierExcel
xlBook.Close
nomFichierExcel = "..."
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets.Add(,
xlBook.Worksheets(xlBook.Worksheets.Count))
xlSheet.Name = entiteCourant & processusCourant
[remplissage titre feuille]
If [nouvelle feuille] Then
Set xlSheet = xlBook.Worksheets.Add(,
xlBook.Worksheets(xlBook.Worksheets.Count))
xlSheet.Name = entiteCourant & processusCourant
[remplissage titre feuille]
End If

For J = 1 To 6
[Ecriture des champs de la requête]
Next J
rec.MoveNext
Loop
xlBook.SaveAs nomFichierExcel
xlBook.Close
xlApp.Quit
rec.Close
Set rec = Nothing
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing

End Function
___________________________________

Je me demande si je ne crée pas 2 occurences de excel (par moment il y
en a 2 en cours) c'est pas sur.

--
-- Otez le second point pour me contacter


bruno.lindis
Le #6365391
Bonjour,

Bonjour,

Un module access ouvre un classeur excel et le traitement se déroule
sans problème jusqu'à la fin.

Le problème est que le processus excel lui continue malgré un "
xlApp.Quit". Si je relance le module il plante tant que je n'ai pas
killé excel sous le gestionnaire de tâche ...

Comment faire pour que le module arrête bien la session excel qu'il a
lancé ?


Montre le code que tu as utilisé.

Normalement il faut utiliser GetObject(,"Excel.Application") si une
instance d'Excel existe sinon on utilise
CreateObject("Excel.Application") et ensuite tu ouvre ton Workbook
Workbooks.Open(...) quand tu as fini tu ferme ton Workbook (Close)
et tu quitte l'appli Excel (Quit), je l'utilise de cette manière
dans un script VBS sans aucun problème.


Bizarre j'ai fermé access puis relancé et maintenant c'est OK ???
J'espère que cela ne reviendra pas ;-)



--
-- Otez le second point pour me contacter


Publicité
Poster une réponse
Anonyme