salut
voila je fait des manip dans un fichier excel via la macro suivante qui marche tres bien (la manipulation des cellule se fait bien)
La macro marche parfaitement mais le processus EXCEL.EXE reste en mémoire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 'ouverture du cahier xlApp = New Excel.ApplicationClass xlWorkBook = xlApp.Workbooks.Open(fichier) xlWorkSheet = xlWorkBook.ActiveSheet For Each cell In xlWorkSheet.Cells.Range("check1").Value If cell = "" Then xlWorkBook.Close() 'Fermeture d'Excel xlApp.DisplayAlerts = True 'remet l'alerte oui=True non=False 'objExcel.Application.Visible=True 'remet la visibilité xlApp.Quit() xlApp = Nothing xlWorkBook = Nothing xlWorkSheet = Nothing
alors après pas mal de recherche , j'ai essayé la solution suivante mais rien ne marche le processus reste
j'ai fait aussi d'autre essai avec GC.collect ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub kill_process(ByVal proc) Dim p() As Process Dim r As Process p = Process.GetProcessesByName(proc) 'on fournit le nom du process en parametre For Each r In p 'puis on les kill tous r.CloseMainWindow() Next End Sub
au final je m'apercois que quand je ferme mon form (le formulaire qui declenche ma macro excel) les processus se ferme.
donc ce qoit etre le form qui bloque la fermeture d'excel proprement.
Donc si je ne peux pas fermer excel proprement mon programme ne sert a rien
donc si qqun a une solution ???
Merci d'avance
bonne journée
Partager