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 :

Afficher le temps qui s'écoule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Par défaut Afficher le temps qui s'écoule
    Bonjour,

    J'ai utlisé l'application.ontime pour qu'une macro s'éxécute après 3 minutes dans mon UserForm.

    Je voudrais aussi que le 3 minutes s'affiche dans un intitulé du UserForm et qu'on voie le temps s'écouler. Après avoir essayer plusieurs, je ne trouve toujours pas comment faire.

    Si quelqu'un pouvait m'aider, ce serait grandement apprécié,

    Merci!

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Ci dessous un exemple (Affichage dans Label1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim H As Date
     
    H = TimeValue("0:3:0")
    Label1.Caption = Format(H, "HH:MM:SS")
     
    Do While Label1.Caption <> "00:00:00"
        DoEvents
        Application.Wait Now + TimeValue("0:0:1")
        H = H - TimeValue("0:0:1")
        Label1.Caption = Format(H, "HH:MM:SS")
        DoEvents
    Loop

  3. #3
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour Jérôme et bonjour jess013

    Lors de ta procédure aucune action de peut être entreprise, si je me trompe

    Je propose donc une solution qui ne boque pas d’autres procédures qui pourraient être en fonctionnement

    Dans un Usf
    -Un label (Label1)
    -Un CommandButton (CommandButton1)

    Dans le module de l’Usf

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Option Explicit
    Private Sub CommandButton1_Click()
        Depart = Time
        Temps = 3 * 60
        Call A
    End Sub
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
        On Error Resume Next
        Application.OnTime Chrono, Procedure:="A", Schedule:=False
    End Sub
    Dans un module
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Option Explicit
                                Public Chrono                               As Date
                                Public Depart                               As Date
                                Public Temps                                As Integer
    Sub Lancement()
        UserForm1.Show 0
    End Sub
    Sub A()
        On Error Resume Next
     
        Call B
        Chrono = Now + TimeValue("00:00:01")
        Application.OnTime Chrono, "A"
     
        DoEvents
    End Sub
    Sub B()
     
        Temps = Temps - 1
     
        If Temps < 0 Then
            On Error Resume Next
            Application.OnTime Chrono, Procedure:="A", Schedule:=False
            Exit Sub
        End If
     
        UserForm1.Label1.Caption = MnSc(Temps)
    End Sub
    Public Function MnSc(X As Integer) As String
                                Dim Mn                      As Double
                                Dim Sc                      As Double
        Mn = Int(X / 60)
        Sc = Int((X - Mn * 60))
     
        If Mn < 10 Then
            MnSc = "0" & Mn & " mn "
        Else
            MnSc = Mn & " mn "
        End If
     
        If Sc < 10 Then
            MnSc = MnSc + "0" & Sc & " Sc"
        Else
            MnSc = MnSc & Sc & " Sc"
        End If
    End Function
    A améliorer bien sur

    Bon courage

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Par défaut
    Bonjour!

    Merci beaucoup pour vos réponses, ça fonctionne.

    Bonne journée

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

Discussions similaires

  1. Afficher le temps qui s'écoule
    Par CODYCO dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/07/2013, 12h40
  2. Afficher le temps qui s'écoule
    Par 0_Azerty_0 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/01/2012, 12h43
  3. Procédure qui affiche le temps d'une requête
    Par chris_013 dans le forum PL/SQL
    Réponses: 13
    Dernier message: 15/12/2008, 16h12
  4. Afficher le "temps restant" sur une longue action
    Par illuzmax dans le forum Langage
    Réponses: 2
    Dernier message: 04/07/2005, 11h23
  5. Ne pas afficher un champs qui est vide dans ma BD
    Par yoda_style dans le forum ASP
    Réponses: 3
    Dernier message: 27/04/2004, 12h40

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