Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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.
 

jm.andryszak

XLDnaute Occasionnel
Bonjour
J'utilise exactement la même méthode batch lancé par une tâche planifié, c'est efficace.
Je n'ai peut-être pas compris votre question mais pour moi, le processus excel est en cours d'exécution tant qu'un fichier reste ouvert.
 

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 Occasionnel
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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…