Exécution du code sur l'ecran qui colorie des cellules se fige
Bonsoir,
J'essaie de me bricoler un métronome
J'ai un tempo et je veux défiler une grille de 16 cellules sur 4 rangées.
Chaque fois que j'arrive sur une cellule, j'emets un bip je la met en bleu, j'attends mon tempo, j'efface ma couleur et je passe à la suivante.
Ca fonctionne sauf que au bout de quelques cellules l'écran n'est pas raffraichit.
je ne pense pas que le screenupdating soit concerné puisque celui masque l'exécution en début puis le réactive en fin. (bon j'ai fait un test hasardeux, qui ne fonctionne pas, ça fige quand même au bout de quelques cellules.
je verrais plutot un refresh de buffer qui se remplit même si la macro est très simple
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
Private Declare Function Beep Lib "kernel32" (ByVal Fq As Long, ByVal Tm As Long) As Long
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Defilement()
Dim tempo As Integer
' le tempo choisi
Range("B3").Select
tempo = 60000 / Range("W3").Value
'Calage
For r = 1 To 4
Beep 500, 100
Sleep tempo
Next
'Répétion
For l = 0 To 3
For n = 0 To 15
Application.ScreenUpdating = True
Cells(l + 3, n + 3).Interior.ColorIndex = 26
Beep 500, 100
Sleep tempo
Cells(l + 3, n + 3).Interior.ColorIndex = xlNone '34
Application.ScreenUpdating = False
Next n
Next l
End Sub |
Merci pour vos conseils
Denis