2016-11-03 2 views
0

J'utilise ce code ci-dessous ...Pourquoi exceller ne cache pas ma forme?

Declare Sub Sleep Lib "kernel32" (ByVal Milliseconds As Long) 
Sub blink() 
    Sleep 500 
    ActiveSheet.Shapes("the_shape").Visible = False 
    Sleep 500 
    ActiveSheet.Shapes("the_shape").Visible = True 
End Sub 

suis-je manque quelque chose?

+0

Les phrases complètes sont beaucoup plus faciles à lire. – wonko79

Répondre

1

C'est assez étrange. L'ajout de DoEvents a résolu le problème. Je devine que Sleep suspend le fil avant que Excel ait une chance de cacher la forme.

Declare Sub Sleep Lib "kernel32" (ByVal Milliseconds As Long) 

Sub blink() 
    Sleep 500 
    ActiveSheet.Shapes("the_shape").Visible = False 
    DoEvents 
    Sleep 500 
    ActiveSheet.Shapes("the_shape").Visible = True 
End Sub 
+0

Merci beaucoup. Oui, assez étrange, mais votre réponse a fonctionné. – LanDi