Blocage avant de sortir de la procedure

treza88

XLDnaute Occasionnel
Bonjour à tous,

J'ai récupéré le code si dessous et adapter, code qui permet de fermer une fenêtre Windows en connaissant son titre, mais je ne comprend pas pourquoi la procédure ne se fini pas et reste bloqué.
Le code fonctionne et ferme bien la fenêtre prévu mais je dois clicker sur le bouton arrêt dans l’éditeur vba pour avoir la main.

Et je n'ai aucun message d'erreur qui apparait.

VB:
Private Const WM_CLOSE = &H10
Private FenRun As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Any) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

VB:
Private Sub CloseWindows()
Do

FenRun = FindWindow(vbNullString, "Afficher")
Call PostMessage(FenRun, WM_CLOSE, 0, vbNull)
DoEvents
Loop
End Sub

Merci d'avance si quelqu'un a une réponse.
 
Dernière édition:

treza88

XLDnaute Occasionnel
Désolé je me répond à moi même, apparemment le problème venait que je ne sortait pas de la boucle, mais est ce que quelqu'un peut me confirmer que c'est une bonne méthode
Code:
Private Sub CloseWindows()
Do

[code=VB]Private Sub CloseWindows()
Do

FenRun = FindWindow(vbNullString, "Afficher les runs")
Call PostMessage(FenRun, WM_CLOSE, 0, vbNull)
DoEvents
Loop While FenRun <> FindWindow(vbNullString, "Afficher les runs")
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 209
Messages
2 086 267
Membres
103 168
dernier inscrit
isidore33