CerberusPau
Messages postés377Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention22 août 2018
-
Modifié le 23 août 2018 à 10:22
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
23 août 2018 à 16:53
Bonjour à tous,
Voilà mon code :
Public Function ProcessusActif(NomProcess) As Boolean
Application.ScreenUpdating = False
Dim svc As Object
Dim squery As String
Dim oproc
Dim Actif As Boolean
Set svc = GetObject("winmgmts:root\cimv2")
squery = "select * from win32_process"
Actif = False
For Each oproc In svc.execquery(squery)
If oproc.Name = NomProcess And SoftOpen = True Then
Actif = True
ProcessusActif = Actif
Exit For
End If
Next
Set svc = Nothing
End Function
Il n'y a pas de problème, il tourne parfaitement.
Toutefois, le "Exit For" reste sans effet, et le rebouclage continue, alors que "ProcessusActif" est passé à "True".
Pour info, la fonction est déclenchée quand la macro "Private Sub Workbook_Open()" écrit dans la cellule AD1 et la formule dans la cellule : AF1 = ProcessusActif(AD1) renvoie le résultat : VRAI ou FAUX.
Je n'ai pas trouvé comment éviter le rebouclage... Quelqu'un aurait-il une idée? Merci d'avance. Cordialement.