Bonjour à tous,

J'aimerai, faire clignoter la cellule A1 à un intervalle de 500ms, pour ça j'utilise les fonction settimer et killtimer de l'API:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Public Declare Function SetTimer Lib "user32" ( _
ByVal HWnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
 
Public Declare Function KillTimer Lib "user32" ( _
ByVal HWnd As Long, ByVal nIDEvent As Long) As Long
 
Public TimerID As Long, TimerSeconds As Single, tim As Boolean
Dim Counter As Long
 
Sub StartTimer()
    TimerSeconds = 0.5
    TimerID = SetTimer(0&, 0&, TimerSeconds * 1000&, AddressOf TimerProc)
End Sub
 
Sub EndTimer()
    On Error Resume Next
    KillTimer 0&, TimerID
End Sub
 
Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, _
ByVal nIDEvent As Long, ByVal dwTimer As Long)
    If Sheet1.Range("A1").Interior = xlNone Then
        Sheet1.Range("A1").Interior = 7
    Else
        Sheet1.Range("A1").Interior = 0
    End If
End Sub
Des que je lance mon programme, il plante et je ne comprends pas pourquoi, j'ai l'impression de declarer et appeler mes fonction API correctement pourtant..
Si quelqun à une idée de ou vient mon soucis, je suis preneur.

Meri

Aussi je vois une erreur de ma part, ligne 26 j'ai mis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Sheet1.Range("A1").Interior = 0
au lieu de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Sheet1.Range("A1").Interior = xlnone
Mais bon, ça ne marche toujours pas.