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 :

[VBA-E] Affichage de progression de processus


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 101
    Par défaut [VBA-E] Affichage de progression de processus
    Bonsoir,

    J'ai une procédure itérative d'exécution relativement longue et je voudrais que toutes les 5s elle affiche une UserForm avec le temps de calcul écoulé et le temps de calcul estimé restant. Tout ce que j'ai touvé c'est ça


    J'ai bien quelques pistes comme On Time mais je galère un peu.

    Une idée?

    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 101
    Par défaut
    Après quelques recherches supplémentaires et une légère prise de tête:
    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
    'Dans un module standard:
    Declare Function GetTickCount Lib "kernel32" () As Long
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Option Explicit
    Dim TE As Long
    Dim Depart As Long
    Sub Calcul()
        Depart = GetTickCount
        UserForm1.Show vbModeless
        Call Demarrer
        'Boucle qui simule un traitement long
        Do
            'pour pouvoir fermer l'userform mais effet non voulu:
            'un mouvement de la souris au dessus le l'Userform perturbe
            'son comportement
            DoEvents
            TE = (GetTickCount - Depart) / 1000
            'pour que ça ne consomme pas de cpu
            Sleep 10
        Loop While UserForm1.Visible = True
    End Sub
    Sub Demarrer()
        UserForm1.Label1.Caption = Format(TE)
        UserForm1.Repaint
        If UserForm1.Visible = True Then Application.OnTime Now + TimeValue("00:00:01"), "Demarrer"
    End Sub
    Il faut ajouter un label nommé "Label1" sur un UserForm nommé UserForm1.
    Bonne soirée.

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

Discussions similaires

  1. [VBA-E]barre de progression
    Par nicobrunet1 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/05/2006, 11h21
  2. [VBA-E] affichage listeBox
    Par Yaone dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 30/04/2006, 09h41
  3. [VBA-E] affichage dynamique de la valeur d'un label
    Par bandit boy dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/03/2006, 15h32
  4. [VBA-E] Barre de progression
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/03/2006, 17h36
  5. [vba-excel] Affichage de formulaire
    Par decour dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/12/2005, 11h04

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