Menu
Donnez votre avis

VBA Un timer une seconde tout simple

Posez votre question

En VBA, il n'y a pas (du moins à ma connaissance) de composant Timer.
On peut en créer un très facilement.

Dans un module de feuille


Activer/ dés activer le timer : Placer un bouton sur Feuil1 et mettre le code...
Private Sub CommandButton1_Click()
    TimeOnOFF = Not TimeOnOFF
    If TimeOnOFF Then
        Smem = 0
        Timer
    End If
End Sub

Dans un module public


Public TimeOnOFF As Boolean
Public Smem As Integer

Sub Timer()
Dim VV
    If TimeOnOFF Then
        'Mettre code ici pour être exécuté toute les secondes
        Smem = Smem + 1
        If Smem = 1 Then
            Sheets("feuil1").[C1] = Time
        ElseIf Smem = 2 Then
                'Mettre code ici pour être exécuté toute les 2 secondes
            Sheets("feuil1").[C1] = Replace(Time, ":", " ")
            Smem = 0
        Else
            Smem = 0
        End If
        VV = TimeSerial(Hour(Time), Minute(Time), Second(Time) + 1)
        Application.OnTime VV, "timer", False
    End If
End Sub

Remarque : La sub affiche l'heure avec/sans les deux points de séparation, pour éviter le mouvement du texte dans la cellule mettre la police à @Arial Unicode MS

Publié par lermite222.

Ce document intitulé «  VBA Un timer une seconde tout simple  » issu de CommentCaMarche (https://www.commentcamarche.net/) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Ajouter un commentaire

Commentaires

Commenter la réponse de bédu
Utiliser VALEUR CIBLE sous Excel
VBA et les collections d'objets.