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 userform temps réel [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut Update userform temps réel
    Bonjour le forum, cela fait quelques temps que je n'avais pas poser de questions.

    ALors vilà ce que j'aimerais faire.
    J'ai dans une application un userform qui me sert de timer ou dans un autre cas d'indicateur de température.
    Bref là n'est pas l'important.
    Toujours est il qe pendant un temps donné ce userform est affiché et il faut qu'un de ces labels soit mis à jour en fonction d'une valeur externe.

    J'avais trouvé donc cette solution

    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
    Public Function compte_a_rebours(Duree)
     
    debut = Timer
     
    fin = Duree + debut
    tim.Show vbModeless
     
    For i = 0 To Duree
     
    t = Timer - debut
    While Not t >= i
    t = Timer - debut
    Wend
    t = Duree - t
    t = SecondeEnHeure(t)
    tim.Label2.Caption = t: DoEvents
    tim.Repaint
    Next i
     
    Unload tim
     
    End Function
    Qui fait ce que je lui demande a ceci prêt que je suis obligé de mettre mon userform en non modal et la ca m'embete !
    Je voudrais que mon userform soit modal ou tout du moins que la personne n'est pas accès à la feuille Excel (enfin tout du moins qu'il ne puisse aps interagir avec)

    Si quelqu'un à une idée je suis preneur

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Comprend pas, pourquoi ça ne va pas en Modal, puisque tu ne veux pas que l'utilisateur puisse agir ?
    A+

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut
    le problème du modal c'est que le label ne se met pas a jour ...
    Et je ne voi pas pourquoi d'ailleurs

  4. #4
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Sans analyser le fond, pour répondre à ta question , tu peux peut-être regarder du côté de la propriété Interactive de l'objet Application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Interactive = False  ' True
    vois l'aide vba....

    cordialement,

    Didier

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Tu peu tester ce code..
    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
    'Duree en seconde
    Public Sub Delais(Duree As Integer)
    Dim S As Integer
    Dim debut As Integer, fin As Integer
        S = Second(Now)
        Label2.Caption = Duree
        Do
            If S <> Second(Now) Then
                Duree = Duree - 1
                Label2.Caption = Duree
                S = Second(Now)
            End If
            DoEvents
        Loop While Duree > 0
    End Sub
    A+

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut
    toujours le meme problème a savoir qu'il faut mettre l'usf en modeless pour que ca marche

    Mais c'est pas grave je vais utiliser ta solution ca mine de rien c'est moins gourmand en ressources et a coté de ca je vais mettre le application.interaction à false ce qui semble convenir

    Merci à vous deux je test et je mets résolu ensuite

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

Discussions similaires

  1. Calculs en temps réel dans un userform
    Par stagmaj dans le forum Macros et VBA Excel
    Réponses: 29
    Dernier message: 09/07/2014, 17h11
  2. Update temps réel d'un formulaire
    Par wboulifa dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/01/2013, 07h14
  3. Voir requête éxécuté en temps réel ?
    Par [DreaMs] dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/01/2004, 15h52
  4. cubes temps réel en ROLAP
    Par Guizz dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 09/07/2003, 17h36
  5. Durée d'un traitement temps réel
    Par Almex dans le forum C
    Réponses: 5
    Dernier message: 29/03/2003, 15h15

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