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

VBA Access Discussion :

ProgressBar (Timer)


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2010
    Messages : 142
    Par défaut ProgressBar (Timer)
    Bonjour,
    Je reviens vers le forum pour demander de l'aide à propos du developpement d'une progressBar.

    Je souhaiterais implementer une ProgressBar dans mon application Access, pour montrer l'etat d'avancement du traitement.

    Bon, j'ai mis en place des etiquettes pour afficher à chaque execution d'une fonction, le traitement effectué (du texte normal); et à chaque fois qu'un traitement est accomplie, la value de la progressbar augmente.

    PAR CONTRE ! Je souhaiterais savoir s'il y'a moyen de montrer le temps estimé dans une progressBar ... voila ...

    L'objectif ici est de montrer aux utilisateurs que le traitment est en cours et que ça bloque pas. Generalement, les users ici commencent à raler à la seconde où ça prends plus de 3 secondes . . . commencent à cliquer n'importe où ...etc..

    Le resultat Attendu :

    _________________________________
    |********_________________________|

    Temps ecoulé : X secondes
    Temps estimé à : Y secondes
    Temps restants : Z secondes
    Progression : XX%
    Traitements effectués : blabla

    Cordialement !

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    La réponse est "peut-être" tout déppend du traitement et comment tu le fais.

    Peux-tu donner plus de détail sur ton formulaire.

    Personnellement j'ai un gros formulaire qui dit "Merci d'attendre, traitement en cours.". C'est moins joli qu'une barre de progression mais c'est assez simple à implanter. Il est vrai que l'utilisateur n'a pas l'impression que l'ordi fasse grand chose. J'envisage d'y mettre un Gif annimé ou quelque chose du genre qui ne dépende pas de l'éxécution d'un code VBA mais je n'ai pas encore essayé.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Expert confirmé
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Par défaut
    Salut,

    ceci peut t'aider http://arkham46.developpez.com/artic...s/formattente/

    il suffit ensuite de donner l'état d'avancement.

    En ce qui concerne le temps restant, comme le dit marot_r, que veux tu faire exactement.

    Définir le temps restant cela implique d'avoir un temps de référence, si le traitement est toujours le même et n'influe pas en fonction de plusieurs paramètres passés pour le traitement et que les machines soient les mêmes.
    Ceci est au risque d'avoir les minutes Windows dont la dernière dur des fois 5 min.

    Pour ma part j'ai intégrer le principe d'arkham, légèrement modifié pour mon gout, en donnant une indication traitement par traitement.

    @++

  4. #4
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juillet 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2010
    Messages : 142
    Par défaut
    Bonjour,
    Je vous remercie tt dabors pour vos reponse;

    Apres quelques recherche sur internet, j'ai effectivement compris qu'il fallait dans un premier temps chronometrer le temps de traitement et l'avoir comme reference, et ensuite ajouter un timer dans une valeur temporaire, pour ensuite afficher dans le formulaire le le temps_chronometré - timer.

    Mais bon, j'ai trouvé ça assez laborieux et "bricolé", c'est pour cela que je demande sur le forum s'il y'a une façon plus dynamique d'effectuer tt ceci.

    Mon formualrei est simple, j'ai juste un bouton Executer et une progressBar. Quand l'utilisateur clique sur Executer, tout un traitement est effectué et l'utilisateur n'aura qu'attendre. Comme ce traitement à un moment donné traite +4000 lignes, à un moment donné, la fenetre Access devient alors en mode (ne reponds pas, mais la souris tourne), et apres traitement, redevient à la normal.

    Le bouton effectuer contient comme code l'appelle à plusieurs fonction dans un ordre donné (au total 10 fonctions), c'est tt.


    Le but ici est de montrer à l'utilisateur que le traitement est en cours et que ça ne bloque pas. Les utilisateurs en question sont du genre à cliquer n'impore où au moment où "il n'y a rien" ... Du coup, il serait pour moi sympatique d'implementer quelque chose de dynamique pour montrer que c'est vraiment en cours et qu'il faut attendre . Une gif serait pas mal aussi ...


    Voila !

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Tu pourrais peut-être utiliser l'événement minuterie du formulaire pour faire avancer ta barre de progression. Ex : toutes le seconde, tu redessinnes ton formulaire.

    Mais hélàs, ça reste du bricolage.

    De plus l'affichage n'est pas une priorité lors d'un traitement long donc il se peut très bien que ton formulare ne change pas malgrès ton code.

    La commande DoEvents aide à forcer le rafraichissement de l'écran.

    Pour le gif animé, ici une solution :

    http://answers.yahoo.com/question/in...2094406AAyM3jx

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Hum si on se fit à cela http://www.access-programmers.co.uk/...ad.php?t=50585

    L'utilisation de OnTimer n'est pas une solution viable.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. [Débutant] ProgressBar timer + mise à jour
    Par anouanou dans le forum C#
    Réponses: 14
    Dernier message: 08/07/2013, 18h23
  2. Attacher un timer a une progressbar
    Par Yepazix dans le forum Langage
    Réponses: 2
    Dernier message: 03/06/2013, 13h02
  3. mono, gtk progressbar, timers, Threading
    Par vohufr dans le forum Mono
    Réponses: 2
    Dernier message: 28/02/2012, 19h23
  4. Réponses: 4
    Dernier message: 05/08/2011, 03h24
  5. progressbar avec timer
    Par Invité dans le forum VB.NET
    Réponses: 7
    Dernier message: 14/02/2011, 18h05

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