Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment détecter qu'il y a plusieurs instances Excel qui tournent ?

1 réponse
Avatar
TILLOUX
Bonjour,

Si on a un fichier TOTO ouvert, quand on tente d'ouvrir à nouveau TOTO, on a
un message qui nous avertit que le fichier est déjà ouvert.

Mais suivant depuis où on ouvre à nouveau TOTO, c'est une seconde instance
d'Excel qui s'ouvre et le fichier TOTO est ouvert dans cette instance là.

Dans ce cas, le Ctrl-ALt-DEL puis la liste des processus montre 2 lignes
Excel (les 2 instances ouvertes).

Question:

en VBA, comment tester qu'une instance excel est déjà ouverte et ainsi
éviter l'ouverture d'une seconde instance ?

Merci d'avance.

Tilloux

1 réponse

Avatar
TILLOUX
Merci beaucoup MichDenis.

Ca fonctionne très bien.

Tilloux

"MichDenis" a écrit dans le message de news:

Bonjour Tilloux,

'-----------------------------------------------------------
Sub Test()
Dim Programme As String

'Nom du programme à définir
Programme = "Excel.exe"

MsgBox "Il y a " & NbInstance(Programme) & _
" instances " & Programme & " ouvert(s)"

End Sub
'-----------------------------------------------------------
Function NbInstance(Programme As String)
Dim X As Integer

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = '" & Programme & "'")
For Each objProcess In colProcessList
X = X + 1
Next
NbInstance = X

End Function
'-----------------------------------------------------------



"TILLOUX" a écrit dans le message de groupe de
discussion : ##
Bonjour,

Si on a un fichier TOTO ouvert, quand on tente d'ouvrir à nouveau TOTO, on
a
un message qui nous avertit que le fichier est déjà ouvert.

Mais suivant depuis où on ouvre à nouveau TOTO, c'est une seconde instance
d'Excel qui s'ouvre et le fichier TOTO est ouvert dans cette instance là.

Dans ce cas, le Ctrl-ALt-DEL puis la liste des processus montre 2 lignes
Excel (les 2 instances ouvertes).

Question:

en VBA, comment tester qu'une instance excel est déjà ouverte et ainsi
éviter l'ouverture d'une seconde instance ?

Merci d'avance.

Tilloux