VBA - Fermeture application Excel

Résolu
Aeblan Messages postés 2 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 29 juillet 2010 - 22 juil. 2010 à 12:36
Aeblan Messages postés 2 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 29 juillet 2010 - 23 juil. 2010 à 10:05
Bonjour,
J'ai un problème avec la fermeture de mon application Excel (Office 2007).
Je l'ouvre à l'aide d'une macro qui n'est pas réalisée sous Excel, avec le code suivant :

[i]Dim appExcel
'Excel workbook
Dim wsExcel As Workbook

Set appExcel = CreateObject("Excel.Application")
'Creation du fichier Excel
Set wsExcel = Workbooks.Add
wsExcel.Activate/i

Ensuite, après traitement sur le document créé et enregistré, je souhaite fermer l'application. J'utilise alors le code suivant :

[i]Call wsExcel.SaveAs(OutputPath + "" + OutputXLSFileName)'La sauvegarde s'effectue normalement
wsExcel.Close
appExcel.Application.Quit
appExcel.Quit
Set wsExcel = Nothing
Set appExcel = Nothing/i

Seulement, je trouve toujours l'application ouverte dans mon gestionnaire des tâches. Comment faire pour fermer complètement l'application ?
Merci d'avance
A voir également:

2 réponses

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
22 juil. 2010 à 22:06
Bonsoir
Je lance l'application excel à partir du vb6
j'écris ça
Dim objexcel As Excel.Application
je n'ai pas declaré
Dim wsExcel As Workbook

Set objexcel = New Excel.Application
objexcel.SheetsInNewWorkbook = 1
objexcel.Workbooks.Add

pour fermer
Set objexcel = Nothing

bonne prog
3
Aeblan Messages postés 2 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 29 juillet 2010
23 juil. 2010 à 10:05
Bonjour,
Apparemment il faut en plus ajouter

objexcel.Application.Quit

avant

Set objexcel = Nothing

(Sinon, l'application reste visible dans le task manager)
Et alors ça fonctionnne, le processus se ferme bien. Par contre, il ne se termine qu'à la fin de l'exécution de ma macro (et non au moment où le code atteint la commande correspondante). Je ne sais pas pourquoi. Ce n'est pas gênant pour le code que j'ai à réaliser mais ça pourrait l'être, si quelqu'un à une idée...
Merci ShayW en tout cas.
0
Rejoignez-nous