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 :

Detecter "inactif depuis + d'une minute"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Par défaut Detecter "inactif depuis + d'une minute"
    Bonjour.

    Je cherche à réaliser une action si l'utilisateur est inactif depuis plus de X minutes.

    Mon problème est que ma fonction qui compare l'heure de la dernière action à l'heure actuelle, frizze Excel et donc empéche l'utilisateur d'être actif... moyen!

    J'arrive pas à résoudre ce problème.

    Pour l'instant j'en suis là:


    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    Dim a As Date
    Dim b As Date
     
     
     
    Private Sub Workbook_Open()             'à l'ouverture du fichier
    a = (Time)
    b = (Time)
     
    Do While (1)                            'à l'infini on compare le temps de derniére action au temps actuel -10 secondes
    If b < Time - TimeValue("0:00:10") Then
        Action                              'si temps de la derniére action < il  y a 10 secondes, alors action
    End If
    Loop                                    'et on fait continuellement le test...
    End Sub
     
     
     
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
     
        b = (Time)                          'dés qu'il y a une action, on actualise l'heure de cette action
        MsgBox "modif"
     
    End Sub
     
     
     
    Je suis peut être parti dans la mauvaise direction, à vous de me le dire.
     
    Merci pour toute aide.

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    - ta boucle sans passer la main au système (par un DoEvents) est en effet telle que rien d'autre ne pourrait être exécuté pendant qu'elle tourne
    - Y mettre un DoEvents ferait que le reste de ton appli pourrait tourner en même temps que la boucle, mais ton processeur va chauffer et souffrir, c'est sûr, au bout de quelques minutes
    - Il te faut utiliser Application.OnTime (à voir dans ton aide en ligne).
    - il y a moins de trois mois, ce sujet a été traité (une petite recherche et tu le retrouveras).

    EDIT :
    Voilà :
    http://www.developpez.net/forums/d65...t-application/

    (la réponse à ta question est dans les premiers messages)

Discussions similaires

  1. [vbnet 1.1]Inserer deux simple quote sans texte dans une db
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/03/2007, 08h51
  2. [MySQL] transformer une simple quote en double pour un insert !!
    Par st0nky dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/01/2006, 16h38

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