Signaler

Macro: commande SLEEP empeche ligne precedente de masquer image

Posez votre question chris9625 - Dernière réponse le 16 sept. 2017 à 17:18 par 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
Utile
+1
plus moins
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
Donnez votre avis
Utile
+0
plus moins
Merci ,
c'était la bonne solution.
La commande "DoEvents" rend effectivement la main au système.

Et encore merci, bloquer la dessus, m'enervait
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !