Menu

Executer des programmes dans des processus différents

xGunner 16 Messages postés lundi 30 octobre 2017Date d'inscription 2 juin 2018 Dernière intervention - 10 nov. 2017 à 12:33 - Dernière réponse : yg_be 5804 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention
- 23 nov. 2017 à 13:23
Bonjour,

Je travail sur des fichiers très volumineux, donc très souvent Excel, l'explorer windows et autres programmes sont amené à planter régulièrement.
Pour l'explorer.exe j'ai trouver une option à cocher pour exécuter chaque fenêtre dans un processus différent.

Mais je ne trouve pas comment faire pour des applications comme Excel ou autres.

Dans mon cas j'ai 3 fichiers ouvert, dont 2 de plus de 100 000 lignes, chaque action fait que le programme ne répond plus (en fait il travaille à fond, enfin seulement 25% du processeur mais il ne semble pas pouvoir prendre plus) et affecte tout mes autres documents Excel.

Si quelqu'un à une solution pour me permettre d'utiliser mes autres document pendant que l'un travail (je ne rencontre aucun souci avec un autre logiciel si Excel ne répond pas)

Merci d'avance :)
Afficher la suite 

Votre réponse

8 réponses

xGunner 16 Messages postés lundi 30 octobre 2017Date d'inscription 2 juin 2018 Dernière intervention - 22 nov. 2017 à 11:15
0
Merci
Personne n'a de solution pour ouvrir un programme dans un processus différent si le programme est déjà ouvert ?
Commenter la réponse de xGunner
yg_be 5804 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention - 23 nov. 2017 à 10:28
0
Merci
Tu peux instancier un Excel supplémentaire ainsi:
Option Explicit
Dim xls As Application

Sub otherxl()

Set xls = New Application
xls.Visible = True
'
End Sub
yg_be 5804 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention > xGunner 16 Messages postés lundi 30 octobre 2017Date d'inscription 2 juin 2018 Dernière intervention - 23 nov. 2017 à 11:44
on dirait que tu n'ouvres aucun fichier dans les instances supplémentaires. comment ouvres-tu tes fichiers?
xGunner 16 Messages postés lundi 30 octobre 2017Date d'inscription 2 juin 2018 Dernière intervention - 23 nov. 2017 à 12:12
J'ai enregistrer la macro dans un fichier excel vierge (je l'ai enregistrer dans mes macro personnelle aussi) et je l'exécute, Excel charge quelque chose puis c'est tout, rien de spécial (pas d'autre fenêtre qui s'ouvre tout se passe dans le même classeur)
yg_be 5804 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention > xGunner 16 Messages postés lundi 30 octobre 2017Date d'inscription 2 juin 2018 Dernière intervention - 23 nov. 2017 à 12:18
chez moi cela ouvre UNE instance supplémentaire visible de Excel.
peux-tu partager le code VBA que tu as créé?
xGunner 16 Messages postés lundi 30 octobre 2017Date d'inscription 2 juin 2018 Dernière intervention - 23 nov. 2017 à 12:23
C'est exactement celui que tu m'a donné, pour mes 3 fichiers je l'ai fait à chaque fois mais comme dit plus haut, j'ai bien 3 nouveaux processus mais ils ne s'arrêtent pas et le processus de "base" est toujours présent, mais se ferme bien un fois les 3 fichiers fermé

Mon code :
Option Explicit
Dim xls As Application

Sub NewProcess()

Set xls = New Application
xls.Visible = True
'
End Sub
yg_be 5804 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention > xGunner 16 Messages postés lundi 30 octobre 2017Date d'inscription 2 juin 2018 Dernière intervention - 23 nov. 2017 à 13:23
le code crée une nouvelle instance indépendante et visible de Excel. le code n'affecte pas l'instance dans laquelle il est exécuté.
il faut ensuite ouvrir le fichier dans cette nouvelle instance. tu peux le faire à la main ou par programme.
par exemple:
Sub testopen()
Call otherxl(ThisWorkbook.FullName)
Call otherxl(ThisWorkbook.FullName)
Call otherxl(ThisWorkbook.FullName)
End Sub

Sub otherxl(fichier As String)
Dim xls As Application

Set xls = New Application
xls.Visible = True
xls.Workbooks.Open (fichier)
End Sub

l'exemple ouvre trois instances supplémentaires de Excel avec le même fichier. il peut être adapté pour ouvrir d'autres fichiers.
Commenter la réponse de yg_be