RESOLU - [EXCEL-VBA] Comment exécuter une macro si excel perd le focus

RESOLU - [EXCEL-VBA] Comment exécuter une macro si excel perd le focus - VB/VBA/VBS - Programmation

Marsh Posté le 25-10-2005 à 17:07:23    

Bonjour à tous.
 
Je cherche en vain comment faire pour qu'un code s'exécute une fois qu'Excel perd le focus... ?? en cliquant sur une autre application définie (si ça peut aider...)  
 
J'imagine que les API Windows peuvent aider pour faire ça mais je ne connais pas assez...
 
Quelqu'un d'entre à une idée?
 
Merci mille fois d'avance.
 
Hervé


Message édité par twosteps le 02-11-2005 à 01:04:00
Reply

Marsh Posté le 25-10-2005 à 17:07:23   

Reply

Marsh Posté le 25-10-2005 à 18:38:56    

Tu as essayés de voir avec LostFocus ?
 
LostFocus, événement
Voir aussiS'applique àExempleDétailsCet événement survient lorsqu'un contrôle ActiveX perd le focus d'entrée.
 
Private Sub objet_LostFocus()
objet      Nom d'un contrôle ActiveX.
 
Exemple
Cet exemple s'exécute lorsque ListBox1 perd le focus.
 
Private Sub ListBox1_LostFocus()
    ' runs when list box loses the focus
End Sub
 
Tu dois pouvoir l'adapter à l'application...

Reply

Marsh Posté le 31-10-2005 à 01:30:08    

Salut Fred_l.
 
Alors j'avais déjà regardé mais LostFocus ne peut se faire que sur un ActiveX d'une page je crois...
 
Malheureusement, je n'ai toujours rien trouvé...   :sweat:  
 
Si qqn à une idée...
 
Hervé

Reply

Marsh Posté le 31-10-2005 à 14:25:33    

twosteps a écrit :

Salut Fred_l.
 
Alors j'avais déjà regardé mais LostFocus ne peut se faire que sur un ActiveX d'une page je crois...
 
Malheureusement, je n'ai toujours rien trouvé...   :sweat:  
 
Si qqn à une idée...
 
Hervé


 
peut-être en utilisant:
 
Private Declare Function GetActiveWindow Lib "user32" () As Long
 
puis en vérifiant dans une fonction ontime si la fonction retourne une valeur <> 0 (alors on a le focus) ...
 
 


---------------
Ce qui est affirmé sans preuve peut être nié sans preuve.
Reply

Marsh Posté le 02-11-2005 à 01:01:54    

Bonne idée!  :love:  
 
J'y avais plus pensé à celui-là....  :)  
 
Merci mille fois, ça fonctionne à merveille avec Ontime!
 
Je récupère la valeur de la fonction et si elle est à 0 -> je lance mon code!
 
Hervé

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed