'Pour ne pas "tuer" des processus EXCEL autres que le tien: 'Avant l'ouverture on vérifie quels process excel sont déjà ouverts Dim processId As Integer = 0 For Each item As Process In Process.GetProcessesByName("EXCEL") processId -= item.Id Next Dim xlsApp As Excel.Application Dim xlsWorkBook As Excel.Workbook Dim xlsWorkSheet As Excel.Worksheet Dim xxx As String xxx = Calcul_des_paramètres_supplémentaires.TextBox1.Text xlsApp = New Excel.Application xlsApp.Visible = False xlsWorkBook = xlsApp.Workbooks.Open(xxx) xlsWorkSheet = xlsWorkBook.ActiveSheet Do ComboBox1.Items.Add(xlsWorkSheet.Name) xlsWorkSheet = xlsWorkSheet.Next Loop While xlsWorkSheet.Name <> "" xlsWorkBook.Close() xlsWorkBook = Nothing xlsApp.Quit() For Each item As Process In Process.GetProcessesByName("EXCEL") processId += item.Id Next ' Tue le process *sauvagement* ^^ Process.GetProcessById(processId).Kill()
Je ne suis pas partisan du KillProcess sauvage, mais si tu y tiens:
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSystem.Runtime.InteropServices.Marshal.ReleaseComObject(xlsApp) GC.Collect() GC.WaitForPendingFinalizers()
merci Acive, mais j'ai essayé le "kill" sauvage ^^ mais le processus persiste