regarde ce code VBA :
Private Sub Flash(couleur)
Sleep ms2: [B3:D7].Interior.ColorIndex = couleur
End Sub
Sub Tirage()
'...
For nb = 1 To 5
Flash 19: Flash 35: Flash 20
Next nb
End Sub
c'est ça qui fait le flash ! en haut, la sub Flash() fait une pause de ms2 millisecondes avant de changer la couleur de remplissage de la plage de cellules fusionnées (mais le système marche aussi pour une cellule unique) ; en bas, à la fin de la Sub Tirage(), la boucle For fait 5× un triple appel de Flash(), avec successivement ces 3 codes d'index de couleurs différents : 19 ; 35 ; et 20.
donc il te suffit de faire : si la condition est vraie, alors appel de Flash avec une 1ère couleur, puis avec une 2ème couleur ; bien sûr, il faut au moins 2 couleurs différentes pour pouvoir percevoir un changement ; et c'est en ajustant le temps de pause en millisecondes que tu obtiens un clignotement plus ou moins rapide.
si ta prof croit à l'arrivée des pompiers ou de la police et te met 20/20, c'est pas ma faute, hein ?
attention : pour le Sleep (la pause en millisecondes), il faut mettre obligatoirement cette ligne de code VBA vers le début du module.
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
dans le code VBA, c'est ici, juste sous les 2 constantes :
Option Explicit
Const ms1 As Byte = 50 ' nombre de ms roulette (à adapter)
Const ms2 As Byte = 120 ' nombre de ms flash (à adapter)
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
dhany