Temps d'apparition non constant avec la fonction For To

Bonjour,

Je vous joint un fichier pour meilleure compréhension de ma demande.

Bonne réception.

Cordialement.

3classeur2.xlsm (57.68 Ko)

Bonjour,

Et en insérant des DoEvents derrière vos lignes Application.Wait ?

    Application.Wait Now + ((TimeValue("00:00:01")) / 100000)
    DoEvents

Bonjour Eric,

Merci, mais cela ne change rien.

Bonne réception.

Chez moi, il y une légère différence mais je ne pourrai vous aider plus.

Bon courage.

Cela ne manque pas.

En vous remerciant.

Bon dimanche.

Bonjour,

Wait n'est pas si précis, c'est de l'ordre de 1/100 s, mais en pratique pas assez régulier pour des tempos < 1 s.
Vouloir atteindre ((TimeValue("00:00:01")) / 100000) est illusoire.

Surtout il a pour inconvénient de monopoliser toutes les ressources, excel ne fait rien d'autre pendant tout ce temps.
Si c'est pour lui laisser le temps de digérer autre chose, il vaut mieux boucler en testant le timer, avec un DoEvents dans cette boucle il peut faire ses bricoles :

Sub timerS(t As Double)
    Dim s As Double
    s = Timer: Do While Timer < s + t: DoEvents: Loop
End Sub

Lui passer le temps voulu en s avec une précision de 1/100 s : timerS 0.01
Avec ça le panneau s'affiche bien 1s avec une bonne régularité.

4classeur2.xlsm (57.97 Ko)

Regarde si ça convient


Si besoin tu as une autre tempo possible en millisecondes :

Declare Function GetTickCount Lib "kernel32" () As Long
'Timer milli seconde
Sub TimerMS(delai)
Dim TP As Long
    TP = GetTickCount
    Do While TP + delai > GetTickCount: DoEvents: Loop
End Sub
'Appel :
TimerMS 600

eric2, salut eric1

Bonjour Eriiic,

Je viens d'essayer sur mon application et,

QUE DU BONHEUR

C'est exactement ce que je cherchais.

Et en plus avec les explications..................que demander de mieux!!!!!!!!!

Un GRAND MERCI.

Bien cordialement.

Bonne fin de journée et Week end.

Alain.

Gros

Rechercher des sujets similaires à "temps apparition constant fonction"