A voir également:
- VBA et Timer
- Shutdown timer - Télécharger - Personnalisation
- Incompatibilité de type vba ✓ - Forum Programmation
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Vba dernière colonne non vide ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
1 réponse
okabeche
Messages postés
8
Date d'inscription
mardi 20 novembre 2001
Statut
Membre
Dernière intervention
22 novembre 2001
4
22 nov. 2001 à 20:33
22 nov. 2001 à 20:33
Autant que je sache TIMER fonctionne très bien sous VBA.
Voici un exemple copié de l'aide d'Excel 97:
Dim PauseTime, Start, Finish, TotalTime
If (MsgBox("Cliquez sur Oui pour effectuer une " & _
"pause de 5 secondes", 4)) = vbYes Then
PauseTime = 5 ' Définit la durée.
Start = Timer ' Définit l'heure de début.
Do While Timer < Start + PauseTime
DoEvents ' Donne le contrôle à d'autres
' processus.
Loop
Finish = Timer ' Définit l'heure de fin.
TotalTime = Finish - Start ' Calcule la durée ' totale.
MsgBox "Pause de " & TotalTime & " seconde(s)"
Else
End
End If
J'espère que cela t'aidera.
Voici un exemple copié de l'aide d'Excel 97:
Dim PauseTime, Start, Finish, TotalTime
If (MsgBox("Cliquez sur Oui pour effectuer une " & _
"pause de 5 secondes", 4)) = vbYes Then
PauseTime = 5 ' Définit la durée.
Start = Timer ' Définit l'heure de début.
Do While Timer < Start + PauseTime
DoEvents ' Donne le contrôle à d'autres
' processus.
Loop
Finish = Timer ' Définit l'heure de fin.
TotalTime = Finish - Start ' Calcule la durée ' totale.
MsgBox "Pause de " & TotalTime & " seconde(s)"
Else
End
End If
J'espère que cela t'aidera.
23 nov. 2001 à 10:12
Merci pour ta réponse. En fait ce que tu me dis n'est pas un véritable Timer : la boucle DoWhile...loop, malgré le DoEvents, consomme trop de ressources. J'ai besoin d'un Timer qui fonctionne vraiment en tâche de fond.
Renseignements pris, il est impossible de récupérer le Timer de VB.
Il est également impossible d'utiliser la fonction SetTimer de l'API en VBA.
Mais j'ai trouvé la solution : sur ce site
http://www.mvps.org/ccrp/
on trouve un Timer très performant qui fonctionne en VBA.