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 PowerPoint Discussion :

progress bar pendant calcul


Sujet :

VBA PowerPoint

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 93
    Par défaut progress bar pendant calcul
    Bonjour,

    voici mon pb:
    j'ai un fichier ppt avec des macros qui font des calculs qui peuvent prendre plusieurs minutes, et je ne veux pas que l'utilisateur pense que le programme a planté alors qu'en fait il travail... donc je voulais mettre une ProgressBar pour le faire patienter.

    j'ai donc trouver comment faire ca: j'ai fait une userform avec une progressBar. Ensuite, au debut de la macro que je lance pour faire mon calcul, j'ai mis ce bout de code que j'ai trouvé en cherchant a droite a gauche:

    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
    Dim frm As New Progress_Bar
    frm.Show vbModeless
     
    Dim MaxCount As Variant
    MaxCount = frm.ProgressBar1.Max
     
    '   A variable that measures our progress
    Dim counter                             As Long
    counter = 0
     
        Do While counter < MaxCount
     
            Dim delay                           As Long
            Dim trivial                         As Long
            trivial = 0
            For delay = 1 To 500000
                trivial = CLng(1.17 + CDbl(trivial))
            Next delay
     
            counter = 1 + counter
     
     
            frm.ProgressBar1.Value = frm.ProgressBar1.Value + 1
            frm.ProgressBar1.Refresh
            DoEvents    '  Essential to let VBA respond to a user action
        Loop

    Ca marche bien, ca ouvre bien ma userform qui s'apelle "Progress_Bar" et ca fait bien evoluer ma progressBar qui se trouver dedans.
    Le pb c'est que le calcul ne se fait pas tant que la progressBar n'est pas au bout... et ca c'est surement dut au fait que ce bout de code ci-dessus se trouve dans le meme macro que celle qui lance le calcul.

    ce que je voudrais faire c'est donc pouvoir lancer la ProgressBar et la faire evoluer et qu'en arrière plan le calcul puisse se faire...

    Merci d'avance

    Yves

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Dans ton code je ne vois pas (ou j'ai mal compris) où se trouve ton calcul, et quel type de calcul tu fais (code à l'appui).

    Philippe

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 93
    Par défaut
    Bonjour,

    mon calcul se fait à la suite de ce code, mais c'est dans la même macro

    mon calcul n'est pas vraiment un calcul dans powerpoint...

    en fait, cette macro importe toutes mes valeurs dans un fichier excel et lance une macro de ce fichier excel et c'est cette macro qui contient mon calcul, ensuite cette dernière macro importe les valeurs calculées dans mon fichier ppt

    et moi ce que je voudrais c'est que ma ProgressBar evolu pendant tout ca...

    Yves

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Citation Envoyé par yvespi Voir le message
    mon calcul se fait à la suite de ce code, mais c'est dans la même macro
    Voilà le hic, en effet le principe de la progressbar est de l'alimenter (le + 1) à chaque itération de ton calcul.

    Par exemple si tu as une boucle qui extrait les données d'un fichier Excel (par exemple 10 données) pour les mettre dans un tableau il faut par exemple parcourir les 10 lignes de ton fichier Excel et à chaque ligne incrémenter ta barre de progression.

    Philippe

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    Il est préférable de faire avancer la progression de la barre à partir de la Macro Excel puisque c'est elle qui connaît le travail déjà effectué et le travail restant à faire.
    le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    frm.ProgressBar1.Value = frm.ProgressBar1.Value + 1
    doit se trouver à l'intérieur de la boucle de calcul Excel.

    PPz

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 93
    Par défaut
    Bonjour,

    mettre l'incrémentation de la valeur de la progressbar dans la macro excel, c'est effectivement ce que j'avais pensé faire mais je ne pensais pas que l'on pouvait modifier la valeur d'une variable d'une macro ppt depuis une macro excel... j'imagine que je n'ai pas juste à ecrire cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    frm.ProgressBar1.Value = frm.ProgressBar1.Value + 1
    dans ma macro excel pour que ca marche, il doit surment falloir lui preciser que ma variable frm est dans ma macro ppt...?

    merci

    Yves

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/08/2011, 15h19
  2. Une progress bar pendant l'execution d'une requete SQL
    Par stef2000 dans le forum VBA Access
    Réponses: 9
    Dernier message: 09/02/2008, 23h58
  3. [C#] Afficher une progress bar pendant une tâche de fond
    Par therock dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/06/2007, 08h33
  4. Progress bar pendant un calcul
    Par zapibranigan dans le forum C++
    Réponses: 2
    Dernier message: 09/10/2006, 13h50
  5. mp3 pendant la progress bar
    Par pimpo66 dans le forum Flash
    Réponses: 7
    Dernier message: 20/06/2006, 19h35

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