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 :

Update avec frequence inferieure à 1 seconde


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Par défaut Update avec frequence inferieure à 1 seconde
    J'ai une macro qui update toutes les secondes et qui fait un copier coller de valeurs à chaque seconde pour garder un historique.

    Je souhaiterai faire tourner une autre macro assez semblable, cependant quand je lance une 2eme macro (meme dans une 2eme appli excel), les 2 se mélangent et il me fait le copier coller de l'un dans l'autre ou vice versa.

    La solution que j'envisage et de décaler la 2ème macro de 1 ou 2 dixième de seconde afin que les 2 ne se parasitent plus.

    Cependant ma fonction heure n'a pour l'instant une précision que d'une seconde...

    Est il possible d'avoir une précision en dixième ou en fraction de seconde ???

    Voici le code de ma macro Time

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub UpdateClock()
     
    'compteur
    Compteur = Compteur + 1
    'Met à jour la cellule A1 avec l'heure en cours
    Windows("Time_v2.xls").Activate
    ThisWorkbook.Sheets("Time").Range("A2") = Time
     
    'Définit le prochain évènement 1 sec après maintenant
     
    NextTick = Now + TimeValue("00:00:01")
    Application.OnTime NextTick, "UpdateClock"
    Merci d'avance à tous ceux qui se pencheront sur cette question

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Par défaut
    J'ai essayé d'adapter gettickcount comme pour le chronomètre
    http://www.developpez.net/forums/sho...ht=chronometre

    Hélas sans succès

    Ou merci de me dire si ce n'est pas possible

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    le problème c'est que tu considéres que ta macro ne prend aucun temps
    si elle va chercher l'info sur un reuter par exemple tu risques de saturer un peu


    je te conseille la chose suivante
    boucle for x=1 to 10000 par exemple
    lire la valeur ecrire la valeur écrire time dans une feuille excel
    next x

    en dépouillant ton fichier tu connaitras le temps nécessaire

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Par défaut
    Je sais bien que ma 1ere macro prend 1 ou 2 dixiemes de secondes à s'executer.

    C'est pour cela que je souhaiterai décaler la deuxième disons de 0,5 seconde histoire de pouvoir en faire tourner au moins 2 en même temps.

    Application.OnTime Now + 0.000006 +TimeValue("00:00:01"), "UpdateClock"


    0.000006 correspondant à peu près à une demi seconde mais la conséquence a été en rafraichissement toutes les 02,000 secondes exactement au lieu des 1 sec décalées d'une demi seconde comme esperé.

    Bref je desespère...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Par défaut Personne parmi les experts que compte ce site ne peut m'aider ???!!!
    Si vous pensez que ce n'est pas possible , dites le moi svp que je ne bloque pas pour rien ...

    Merci

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    Essaie avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub UpdateClock()
        Do While True
            Me.Range("A2") = Time
            DoEvents
        Loop
    End Sub
    Rem. dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'compteur
    Compteur = Compteur + 1
    'Met à jour la cellule A1 avec l'heure en cours
    Windows("Time_v2.xls").Activate
    ThisWorkbook.Sheets("Time").Range("A2") = Time
    je ne vois pas à quoi sert le compteur, d'activer l'autre classeur, et le rapport avec la cellule A1...

Discussions similaires

  1. UPDATE avec JOIN ?
    Par zakuli dans le forum Débuter
    Réponses: 3
    Dernier message: 25/07/2007, 14h53
  2. UPDATE avec des variables Delphi ...
    Par Kokito dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/03/2004, 22h35
  3. Requete d'update avec concatenation !!
    Par chris92 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/02/2004, 12h05
  4. [version] Requete Update avec différentes versions de mySQL
    Par regbegpower dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/01/2004, 17h19
  5. Pb Update avec chaine de caractere
    Par JuJu° dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/05/2003, 15h58

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