Téléchargement
illégal

VBA Un timer une seconde tout simple


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 - Dernière mise à jour le 4 novembre 2009 à 16:33 par marlalapocket
Ce document intitulé « VBA Un timer une seconde tout simple » issu de CommentCaMarche (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.
Suggestions
  •  VBA Un timer une seconde tout simple
  •  Difference de date (Résolu) » Bonjour, Juste une question, est-ce qu'une méthode déjà fournie en Java pourrait me donner la différence entre deux dates, non pas en jours (ça je sais le faire) mais précisément sous cette forme : 3 années, 1 mois, 5 jours, 14 heures... C'est pour...
  •  [VBA]Format d'heure incorrecte !(CDate ?) (Résolu) » Bonjour, J'aimerais que le programme contrôle une boucle par ce moyen : heure_début = Cdate(Time) If heure_début >= CDate("10:00:00") And heure_début <= CDate("14:30:00") Or heure_début >= CDate("19:00:00") And heure_début <= CDate("21:30:00") Then...
  •  [VBA] ProgressBar (Résolu) » Hello tout le monde, J'ai une question en VBA. Dans mon classeur, tout fonctionne bien, mais vu que j'ai une immense formule, copiée sur 500 lignes, et qui doit trier un millier et demi de lignes (quand même !), j'ai mis mon classeur en mode manuel....
  •  Erreur 1004 Macro Excel VBA » Meilleure réponse: bonjour En simplifiant ton code et en supprimant les "select" inutiles cela donne ceci qui devrait fonctionner. Sub tranpose_dans_tableau() Dim ligne_active_base As Double 'Test pour déterminer la ligne où coller les infos dans le table
  •  Date et heure en VB » Meilleure réponse: Bonjour Cherrymoon, Tu disposes dans VB de plusieurs fonctions relaitves au temps (qui passe, pas qu'il fait hélas !). Tu peux touours définir une variable, "Toto" par exemple, et l'alimenter des diverses façons suivantes. Ensuite tu en
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Trucs Clavier souris
VBA et les collections d'objets.