Microsoft 365 Problème de processus Excel toujours en mémoire

filiplarlibe

XLDnaute Nouveau
Bonjour à tous,

J'aurais besoin d'un petit coup de main pour un souci que j'ai remarqué depuis maintenant un moment.
Je génère un rapport sur l'événement Open d'excel. Cet excel est lancé par un batch lui même lancé par une tâche planifiée de Windows.
Ca marche plutôt bien mais j'ai remarqué qu'après l'éxécution, le processus Excel était encore en cours d'éxécution. Et je n'arrive pas à faire en sorte que lorsque le fichier excel se quitte, le processus ne soit plus en mémoire.
Voici le code que j'utilise en fin d'exécution de l'excel :

ThisWorkbook.Save
' clear clipboard
Application.CutCopyMode = False
Application.ScreenUpdating = True

J'ai essayé d'ajouter :
Application.quit

Mais rien n'y fait.

Petite précision :
Lors de la génération de ce rapport, je copie des lignes du fichier excel vers un autre fichier excel. (je vais mettre à jour un fichier excel partagé).
Est-ce que ce ne serait pas le processus de ce fichier excel qui est encore en éxécution ?
Ou est-ce que ça pourrait venir du fait que Excel est lancé par un vbs qui lui même est lancé par une tâche windows planifiée

Merci d'avance pour votre aide ou vos réponses.
 

filiplarlibe

XLDnaute Nouveau
Bonjour,
La tâche planifiée se termine correctement mais pourtant le processus excel reste en mémoire et je n'arrive pas à faire en sorte qu'il n'y soit plus.
J'ai beau mettre Application.Quit à la fin, le processus reste en mémoire.

je ne comprends pas.
Qu'avez vous mis comme code pour ne plus avoir le processus en mémoire ou pour fermer le fichier excel ?

Merci par avance pour votre retour.
 

jm.andryszak

XLDnaute Junior
Bonjour
En fait, je ne ferme pas les fichiers après l'exécution du batch car j'ai besoin de les visualiser.
Ci-dessous une proposition à titre de test.

Dans le fichier "Test.bat"
Rem Ouvre "Chemin\Test.xlsm"
@eCHO off
set Fichier="Chemin\Test.xlsm"
set excel="C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE"
start "" %excel% %Fichier%

'****************************************
Dans le module ThisWorkbook de Test.xlsm
Option Explicit
Private Sub workbook_open()
Workbooks.Open ThisWorkbook.Path & "\" & "Test1.xlsm"

With ActiveWorkbook
'Pour test
.ActiveSheet.Range("a1") = Now
End With

Select Case MsgBox("Fermeture de " & ActiveWorkbook.Name, vbQuestion + vbYesNo, Application.UserName)
Case vbYes
ActiveWorkbook.Close True
Case vbNo
End Select

Select Case MsgBox("Fermeture de " & ThisWorkbook.Name, vbQuestion + vbYesNo, Application.UserName)
Case vbYes
ThisWorkbook.Close False
Case vbNo
End Select
End Sub
 

Discussions similaires

Réponses
11
Affichages
161
Réponses
2
Affichages
140

Membres actuellement en ligne

Statistiques des forums

Discussions
302 063
Messages
2 000 131
Membres
214 752
dernier inscrit
Ngardjibem