IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Timer programmé en VBA qui s'arrête lorsqu'une cellule est activée [Toutes versions]


Sujet :

Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 111
    Points : 44
    Points
    44
    Par défaut Timer programmé en VBA qui s'arrête lorsqu'une cellule est activée
    Bonjour tout le monde

    Je me permets de vous contacter pour savoir si l'un de vous aurait une solution pour mon problème que voici :

    J'ai programmé un timer qui incrémente chaque seconde la cellule B1 d'une feuille excel ( c'est juste un test ) : voici le code

    [QUOTE] Sub DemarreTimer()
    Application.OnTime Now + TimeValue("00:00:01"), "compteur"
    End Sub

    Sub compteur()
    Range("B1").Value = Range("B1") + 1
    DemarreTimer
    End Sub

    Sub ArretTimer()
    Application.OnTime Now + TimeValue("00:00:01"), "compteur", Schedule:=False
    End Sub

    La procédure DemarreTimer est appelé lorsqu'on clique sur un bouton placé sur la feuille excel, de même que la procédure ArretTimer.

    A l'exécution, tout se passe correctement sauf si on active une cellule pour y saisir du texte, la cellule B1 n'est plus modifiée. Et dès qu'on quitte la cellule où l'on a saisi du texte, la cellule B1 est à nouveau actualisée.

    Est-ce possible de concevoir un timer qui fonctionne tout le temps, même si on saisit du texte dans une autre cellule ?

    Je vous remercie de m'avoir lu et merci d'avance pour toute information qui serait susceptible de m'aider ;-)

    Je vous souhaite une agréable fin de journée

    Laurent CUSSAC

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Essaye en dissociant les opérations de comptage et d'affichage.

    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
    Public Compte As Long
     
    Sub DemarreTimer()
            Compte = Range("B1").Value
            Call compteur()
            Call Affiche()
    End Sub
     
    Sub compteur()
           Compte = Compte + 1
           Application.OnTime Now + TimeValue("00:00:01"), "compteur"
    End Sub
     
    Sub Affiche()
           Range("B1").Value = Compteur
           Application.OnTime Now + TimeValue("00:00:01"), "Affiche"
    End Sub
     
    Sub ArretTimer()
            Application.OnTime Now + TimeValue("00:00:01"), "compteur", Schedule:=False
            Application.OnTime Now + TimeValue("00:00:01"), "Affiche", Schedule:=False
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/02/2016, 16h17
  2. ligne grisée lorsqu'une cellule est sélectionnée
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/10/2011, 11h40
  3. [Turbo Pascal] [TP7] Delay qui s'arrête quand une expression est vraie
    Par EpiTouille dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 21/12/2010, 02h19
  4. Réponses: 3
    Dernier message: 16/11/2010, 17h06
  5. programme en vba qui permet le transfert des données word vers excel
    Par progaide dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/06/2009, 18h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo