Macro: commande SLEEP empeche ligne precedente de masquer image

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.

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
A voir également:

2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 714
 
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
1
chris9625
 
Merci ,
c'était la bonne solution.
La commande "DoEvents" rend effectivement la main au système.

Et encore merci, bloquer la dessus, m'enervait
0