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 :

[Question]Barre de progression


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Par défaut [Question]Barre de progression
    Bonjour,

    Durant le traitement d'une macro je voudrais mettre une barre de progression pour indiquer à l'utilisateur où il en est.
    D'autre part, ce traitement pouvant être long, je cache le classeur afin d'améliorer la vitesse de ce dernier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating = False/true
    Lorsque le traitement s'effectue avec le classeur "caché", l'utilisateur de base, va croire que rien ne se passe du fait que le sablier de la souris n'apparait qu'à moitié... De ce fait, certains utilisateurs vont certainement se mettre à cliquer partout pour fermer ça. C'est pour cette raison que je souhaite mettre une barre de progression.

    Mais est-il possible de mettre cette barre en "cachant" le classeur?
    [Edit=je précise] Va t-elle se cacher avec le classeur?

  2. #2
    Membre expérimenté
    Inscrit en
    Février 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 208
    Par défaut
    bonjour

    en me promenant sur certains forums j'avais trouvé ce petit programme qui pourrait peut être te servir : http://cjoint.com/?grsWFc23Ui

    à plus

  3. #3
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par Be Cool Voir le message
    Durant le traitement d'une macro je voudrais mettre une barre de progression pour indiquer à l'utilisateur où il en est.
    Bonjour, une première question, quel est le type de traitement ? Une boucle incrémentée de 1 à xxx ?

  4. #4
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Par défaut
    En fait quand je parle du traitement, je parle de toute la macro contenant un certain nombre de boucle qui parcourent toutes les lignes d'une feuille du classeur (nombre de feuille indéterminé)

  5. #5
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    C'était juste pour m'assurer qu'il s'agissait bien d'une ou de plusieurs boucles, sans ça je ne vois pas comment calculer le temps restant d'un traitement.

    Si tu vas dans la FAQ ou dans Contribuez ou si tu fais une recherche dans le forum, tu trouveras différents exemples sur la création d'une barre de progression.

    Quand tu dis, je cache le classeur, en réalité avec Application.ScreenUpdating tu ne le caches pas mais tu geles l'écran.
    Si c'est pour une raison de rapidité, avant d'essayer de construire une barre de progression, il faudrait voir si on ne peut pas optimiser la procédure. Ca serait mieux d'avoir une procédure qui dure 4sec sans barre de progression qu'une procédure qui dure 3min avec barre de progression, enfin...c'est mon avis.

  6. #6
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour,

    Entièrement d'accord avec toi fring.

    plutot que mettre une barre de progression qui risque de faire ralentir la progression, moi j'afficherai une feuille avec écrit en grand " pas bouger, ça travaille" ou un truc du genre.

    pas super sexy mais fonctionnel quoi!
    :o)

  7. #7
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Par défaut
    fring, tu réponds à une question que j'allais te poser, parfait! =)

    En effet, l'exécution met un certain temps, si c'est pour que la Barre ralentisse c'est la pas la peine.

    J'ai déjà tenté d'optimiser mon code mais après, vis à vis de ce que la macro doit faire, je ne peut guère faire mieux. Le fait de geler l'écran accélère au moins doublement le traitement.

    Je vais donc opter pour un simple message en leur disant d'attendre 2min ^^

    Mirciii =)

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

Discussions similaires

  1. [question] barre de progression animé
    Par jerem721 dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 21/03/2008, 19h56
  2. [VB.NET] Pb avec le bouton Annuler d'1 barre de progression
    Par dada1982 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/06/2004, 10h56
  3. Réponses: 12
    Dernier message: 27/05/2004, 01h13
  4. [DEBUTANT] Barre de progression
    Par pupupu dans le forum MFC
    Réponses: 4
    Dernier message: 18/01/2004, 17h47
  5. [web] Barre de Progression ASCII
    Par Red Bull dans le forum Web
    Réponses: 13
    Dernier message: 05/06/2003, 13h56

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