Executer des programmes dans des processus différents

Fermé
xGunner Messages postés 29 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 28 janvier 2022 - 10 nov. 2017 à 12:33
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 - 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 :)

2 réponses

xGunner Messages postés 29 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 28 janvier 2022
22 nov. 2017 à 11:15
Personne n'a de solution pour ouvrir un programme dans un processus différent si le programme est déjà ouvert ?
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
23 nov. 2017 à 10:28
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
0
xGunner Messages postés 29 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 28 janvier 2022
23 nov. 2017 à 11:40
Merci yg_be pour ta solution, j'ai remarqué avec 3 fichiers ouvert :

Sans ta solution : (valeur ko approximative)
1 processus EXCEL de 136 000 Ko de mémoire

Avec ta solution
1 processus EXCEL de 136 000 Ko de mémoire
1 processus EXCEL de 40 000 Ko de mémoire
1 processus EXCEL de 40 000 Ko de mémoire
1 processus EXCEL de 40 000 Ko de mémoire

Le premier processus ne diminue pas, et à la fermeture de mes 3 fichiers seul le premier processus s'arrête, les autres de 40 000 Ko ne s'arrêtent pas

Soit mes fichier sont rester dans le premier et sont bien fermé
Soit il sont encore ouvert et ne se sont pas fermé

Est-ce normal ?
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > xGunner Messages postés 29 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 28 janvier 2022
23 nov. 2017 à 11:44
on dirait que tu n'ouvres aucun fichier dans les instances supplémentaires. comment ouvres-tu tes fichiers?
0
xGunner Messages postés 29 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 28 janvier 2022
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)
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > xGunner Messages postés 29 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 28 janvier 2022
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éé?
0
xGunner Messages postés 29 Date d'inscription lundi 30 octobre 2017 Statut Membre Dernière intervention 28 janvier 2022
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
0