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

Macros et VBA Excel Discussion :

Notion d'horloge dans VBA excel [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut Notion d'horloge dans VBA excel
    Bonjour à tous,

    voila une question qui me taraude depuis un certain temps. J'envisage de développer des applis en VBA excel qui travaillent en continu.

    Par exemple, un système de gestion de portefeuille financier qui se met à jour en continu avec un compte à rebours.

    Mais pour cela, j'ai besoin de demander à Excel de vérifier des éléments toutes les x secondes.

    Est-ce que quelqu'un sait comment implémenter un timeout dans Excel?

    De même, est-il possible d'exécuter une macro "discrète" qui n'empêche pas l'utilisateur de travailler pendant son déroulement?

    Merci pour vos éclaircissements...

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Je ne sais pas si cette proposition va aider.
    Dans un module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Sub Attente(ByVal N As Integer)
    Dim Start As Single
    Start = Timer
    Do While Timer < Start + N
     DoEvents
    Loop
    End Sub
    La macro suivante dans ta feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Test()
    Dim PasTemps As Long
    PasTemps = 2        '2 secondes d'attente
    Do
        'ICI mettre ta macro de vérification des données
        Range("A1") = Timer 'exemple
        Beep
        Attente PasTemps
    Loop
    End Sub
    et éventuellement pour arrêter la macro(par exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    End
    End Sub

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut yannpiot et le forum
    Je ne pense pas que ce soit possible :
    On pourrait générer une macro toutes les x secondes avec OnTime.
    Jusqu'à là ça va. Mais quand la macro se déclenche, elle prend la main, même si tu es en saisie et ne te la rend que quand elle est finie. Pas tout à fait ce que j'appelle être discrète...
    A+

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    salut

    C'est à mon sens ontime, qu'il vaut mieux utiliser.
    Pour le reste : tout dépend des instructions, de leur nature, de leurs effets, de leur causalité, etc...de la macro. C'est par exemple elle qui devra contenir l'instruction DoEvents (si par exemple et notamment, mais pas uniquement, elle utilise des instructions en boucle)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut Merci!
    Merci à tous pour vos réponse,

    Effectivement, onTime me semble la meilleure des solutions.

    Mais dans tous les cas, cette fonction ne permettra pas d'exécuter un script de manière silencieuse.

    VBA n'est pas encore capable de réaliser plusieurs actions en symétrique façon "Round robin"...

    Merci en tous les cas!

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

Discussions similaires

  1. userform déconnecté dans vba excel
    Par PTIT FILOU dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/06/2008, 15h59
  2. Réponses: 5
    Dernier message: 27/05/2008, 18h43
  3. Liste des contrôles dans VBA-Excel
    Par CAFOUIN dans le forum Excel
    Réponses: 2
    Dernier message: 23/02/2007, 17h50
  4. Name et formula dans VBA Excel
    Par khadba dans le forum Windows
    Réponses: 1
    Dernier message: 20/02/2007, 11h37
  5. [VBA-E] Compatibilité de Date dans VBA Excel
    Par dorschner dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/05/2006, 19h25

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