Menu

Macro: commande SLEEP empeche ligne precedente de masquer image

chris9625 - 16 sept. 2017 à 13:18 - Dernière réponse :  chris9625
- 16 sept. 2017 à 17:18
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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
f894009 13053 Messages postés dimanche 25 novembre 2007Date d'inscription 25 mai 2018 Dernière intervention - 16 sept. 2017 à 15:56
1
Merci
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 f894009 1

a aidé 24899 internautes ce mois-ci

Commenter la réponse de f894009
0
Merci
Merci ,
c'était la bonne solution.
La commande "DoEvents" rend effectivement la main au système.

Et encore merci, bloquer la dessus, m'enervait
Commenter la réponse de chris9625