OVH Cloud OVH Cloud

Perte de focus Excel

2 réponses
Avatar
John Fuss
Bonjour je voudrai pouvoir gérer l'evenement 'Perte de focus d'Excel", c'est
possible ?

Merci d'avance.

John

2 réponses

Avatar
Michel Pierron
Bonjour John;
AMHA, cela nécessite un timer au travers duquel, tu peux détecter que le
handle de la fenêtre de premier plan diffère de celui de l'application
Excel.
Quelque chose comme:
Private Declare Function GetForegroundWindow& Lib "user32" ()
Private Declare Function FindWindow& Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName$, ByVal lpWindowName$)
Private TimerEnabled As Boolean

Private Sub TimerProc()
If Not FindWindow(vbNullString, Application _
.Caption) = GetForegroundWindow Then
MsgBox "Perte focus excel !", 64
TimerEnabled = False
End If
If TimerEnabled Then Call TimerOn
End Sub

Sub TimerOn()
TimerEnabled = True
Application.OnTime (Now + TimeValue("00:00:10")), "TimerProc"
End Sub

MP

"John Fuss" a écrit dans le message de
news:cmsu8e$j71$
Bonjour je voudrai pouvoir gérer l'evenement 'Perte de focus d'Excel",
c'est

possible ?

Merci d'avance.

John




Avatar
John Fuss
Excellent,

j'adopte, je vais l'utuilise avec ma fonction de reprise de Focus sur Excel.

Merci

John

"Michel Pierron" a écrit dans le message de
news:
Bonjour John;
AMHA, cela nécessite un timer au travers duquel, tu peux détecter que le
handle de la fenêtre de premier plan diffère de celui de l'application
Excel.
Quelque chose comme:
Private Declare Function GetForegroundWindow& Lib "user32" ()
Private Declare Function FindWindow& Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName$, ByVal lpWindowName$)
Private TimerEnabled As Boolean

Private Sub TimerProc()
If Not FindWindow(vbNullString, Application _
.Caption) = GetForegroundWindow Then
MsgBox "Perte focus excel !", 64
TimerEnabled = False
End If
If TimerEnabled Then Call TimerOn
End Sub

Sub TimerOn()
TimerEnabled = True
Application.OnTime (Now + TimeValue("00:00:10")), "TimerProc"
End Sub

MP

"John Fuss" a écrit dans le message de
news:cmsu8e$j71$
Bonjour je voudrai pouvoir gérer l'evenement 'Perte de focus d'Excel",
c'est

possible ?

Merci d'avance.

John