Macro: commande SLEEP empeche ligne precedente de masquer image
chris9625
-
chris9625 -
chris9625 -
Bonjour,
J'ai créer une macro qui commence par masquer des image (.Visible=False) plus loin dans le code j'utilise une boucle avec la commande SLEEP pour attendre un appui sur la touche 'espace'.
Lorsque je met un pt d'arrêt avant la boucle, mes images son bien masquées. Si je lance la macro complète, les images ne sont masquée, qu'après le fameuse boucle.
Auriez vous une idée pour expliquer ce phénomène ou mieux une solution.
Merci
J'ai créer une macro qui commence par masquer des image (.Visible=False) plus loin dans le code j'utilise une boucle avec la commande SLEEP pour attendre un appui sur la touche 'espace'.
Lorsque je met un pt d'arrêt avant la boucle, mes images son bien masquées. Si je lance la macro complète, les images ne sont masquée, qu'après le fameuse boucle.
Auriez vous une idée pour expliquer ce phénomène ou mieux une solution.
Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Macro1()
'sur appui bouton de lancement, remise à zero de la page et controle des données
Sheets("Feuil1").Pictures("Passant").Visible = False
.
.
.
'atente appui sur barre espace
Do
Sleep Duree_boucle
Chrono = Chrono + Duree_boucle
If Chrono > 30000 Then
GoTo Drap_Appui
End If
Loop Until GetAsyncKeyState(32) <> 0
Drap_Appui:
Merci
2 réponses
-
Bonjour,
essayez comme ceci:
Do DoEvents Sleep Duree_boucle Chrono = Chrono + Duree_boucle If Chrono > 30000 Then GoTo Drap_Appui End If Loop Until GetAsyncKeyState(32) <> 0 -
Merci ,
c'était la bonne solution.
La commande "DoEvents" rend effectivement la main au système.
Et encore merci, bloquer la dessus, m'enervait