Vider le processus généré par Excel avec une commande "reboot" ?

xyam

XLDnaute Nouveau
Bonjour la communauté ;)

Voila j'ai un fichier excel qui exécute une macro qui actualise toutes les minutes, sauvegarde toutes les 15 en CSV et efface un certain contenu à 00h.

Cette application permet de récupérer des données en quasi-temps réel, envoyer des mails d'alerte et ping des éléments du réseau.

Le problème c'est qu'elle doit tourner 24/24 et 7/7, et le processus Excel ne fait que grimper.

D'où ma question:
Peut-on fermer Excel et le ré-ouvrir avec une commande de "reboot" pour vider le processus en VBA ou même en VBS ?

Merci à tous d'avance
 

kiki29

XLDnaute Barbatruc
Re : Vider le processus généré par Excel avec une commande "reboot" ?

Salut, à esssayer
Code:
Option Explicit
 
Sub RebootForce() 
    Application.DisplayAlerts = False 
    ActiveWorkbook.Save 
    Application.Quit 

    Shell "shutdown -r -f -t 02", vbHide 
End Sub 
 
Sub RebootForcePC() 
Dim Rep As Long 

    Application.DisplayAlerts = False 
    ActiveWorkbook.Save 

    Rep= ExitWindowsEx(EWX_FORCE, 0&) 
    Application.Quit 
End Sub
 
Dernière édition:

Gorfael

XLDnaute Barbatruc
Re : Vider le processus généré par Excel avec une commande "reboot" ?

Salut xyam et le forum
N'étant ni magicien, ni devin, difficile de t'aider !
Peut-on fermer Excel et le ré-ouvrir avec une commande de "reboot" pour vider le processus en VBA ou même en VBS ?
Ta question suggère une macro OnTime, mais rien de précise que c'est ça. Si c'est réellement à travers OnTime, tu as une manière de l'arrêter dans l'exemple de l'aide. Tu peux aussi relancer windows...
A+
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Vider le processus généré par Excel avec une commande "reboot" ?

Bonjour à tous

ne serait-on pas confronté dans ce cas à un problème de presse-papier
ne serait-il pas utile de vider régulièrement le presse-papier ???

si je viens de dire une connerie, on la mettra dans le bêtisier ....... lol

à+
Philippe
 

xyam

XLDnaute Nouveau
Re : Vider le processus généré par Excel avec une commande "reboot" ?

Merci de vos réponse ultra rapide ;)

Kiki29 , le truc c'est que j'aimerai bien qu'il re-démarre en automatique et non pas juste killer le processus comme ça.
Gorfael je vais me pencher sur le Ontime

En faite j'aimerais qu'à minuit conjointement avec ma macro de suppression de contenu Excel vide son processus ou se ferme et se ré-ouvre puis relance la macro qui tourne en boucle

Je sais pas si je suis plus claire :S, merci en tout cas ;)

Edit: phlaurent55 ça peux aider à diminuer le processus je pense, j'avais pas pensé à ça, merci
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Vider le processus généré par Excel avec une commande "reboot" ?

Bonjour à tous

j'ai ceci pour fermer une application (ici IE). Il suffit de remplacer par le nom du process à fermer.

Code:
Sub Ferme_IE()
On Error Resume Next
fermerUneApplicationIE
End Sub

Sub fermerUneApplicationIE()
'necessite d'activer la reference Microsoft WMI Scripting Library
'testé avec Excel2002 et WinXP
'michelxld le 04.01.2005
Dim objProcess As WbemScripting.SWbemObject
Dim colProcessList As WbemScripting.SWbemObjectSet
Dim objWMIService As WbemScripting.SWbemServices
Dim strComputer As String
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.execQuery _
("Select * from Win32_Process Where Name = 'iexplore.exe'")
For Each objProcess In colProcessList
objProcess.Terminate
Next
End Sub
 

kiki29

XLDnaute Barbatruc
Re : Vider le processus généré par Excel avec une commande "reboot" ?

re,une autre, plus sobre et brutale, à adapter
Code:
Sub Kill_XL()
Dim Rep As Long
    '   Parametres Taskkill
    '   http://technet.microsoft.com/en-us/library/bb491009.aspx
    Rep= Shell("Taskkill /im Excel.exe /f", 0)
End Sub
 
Dernière édition:

xyam

XLDnaute Nouveau
Re : Vider le processus généré par Excel avec une commande "reboot" ?

J'ai opté pour la solution de kiki29 :
Code:
Option Explicit
 
Sub RebootForce() 
    Application.DisplayAlerts = False 
    ActiveWorkbook.Save 
    Application.Quit 

    Shell "shutdown -r -f -t 02", vbHide 
End Sub

Avec un raccourcis dans tous les programmes\démarrage
Concaténé avec un :
Code:
Private Sub Workbook_Open()
qui lance ma macro "onTime timer" au démarrage

Merci à tous, je vous tiendrais au jus
 

Statistiques des forums

Discussions
312 278
Messages
2 086 717
Membres
103 378
dernier inscrit
phdrouart