Scintillement

Bonsoir

j'utilise le code suivant en deux parties pour faire clignoter une cellule de ma page, il marche tres bien , le seul soucis

et que lorsque je change de feuille pendant la phase de clignotement qui dure 10s, la page sur laquelle je me trouve alors se met à

scintiller alors que celle contenant la cellule en cours de clignotement ne scintille pas.

j'ai pensé à placer l'instruction "application.screen Upadting=false dans le code mais je ne vois pas ou placer celle ci de facon judicieuse

Le code se trouvant dans le module de la feuille ou se trouve la cellule clignotante est :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("a1:b3")) Is Nothing Then
Application.OnTime Now + TimeValue("00:00:01"), "Flash"
End If
End Sub

et la seconde partie dans un module :

Sub InitFlash()
  'lance un clignotement toutes les secondes
Application.OnTime Now + TimeValue("00:00:01"), "Flash"
End Sub

Sub Flash()
Static i

  i = i + 1

If Sheets("clignotement").Range("O19").Interior.ColorIndex = 6 Then
    Sheets("clignotement").Range("O19").Interior.ColorIndex = 3 'fond rouge
  Sheets("clignotement").Range("O19").Font.ColorIndex = 6 'caractères en jaune
Else
    Sheets("clignotement").Range("O19").Interior.ColorIndex = 6 'fond jaune
  Sheets("clignotement").Range("O19").Font.ColorIndex = 3 'caractères en rouge
End If

If i <= 10 Then
    Application.OnTime Now + TimeValue("00:00:01"), "Flash"
  Else

  Sheets("clignotement").Range("O19").Interior.ColorIndex = xlNone 'fond incolore
 Sheets("clignotement").Range("O19").Font.ColorIndex = 1 'caractères en noir
  i = 0
  End If
End Sub

Merci pour toute réponse

Bonjour,

Un exemple pour le clignotement d'un cellule qui s’arrête quand ont change de feuille et qui reprend quand ont y revient

Voir le code des boutons pour les commande VBA.

Tu dis

merci pour ta réponse

j'ai essayé d'ajouter ceci sur la feuille ou se trouve le clignotement mais ca ne marche pas

Private Sub Worksheet_Deactivate()

   Dim Flash as Bolean
   Flash = False
End Sub

je ne trouve pas l'erreur ! il me semble qu'en quittant la feuille la macro Flash devrait s'arreter mais ce n'est pas le cas

Ont ne sait pas arrêter une macro lancée avec Application.OnTime.

Supprime ton code et met les procédures de ma démo.

Merci je faire selon tes recommandations

Rechercher des sujets similaires à "scintillement"