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 :

progressbar pendant calcul


Sujet :

Macros et VBA Excel

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 progressbar pendant calcul
    Bonjour,


    J'ai un fichier ppt dans lequel l'utilisateur entre des valeurs puis lance une macro qui va ouvrir un fichier excel en arrière plan et lancer un macro de ce fichier excel. cette dernière macro (excel ) calcul plusieurs coordonnées de points et importe ensuite les valeurs calculées dans le fichier ppt initial.

    Voici mon pb:
    la macro excel fait beaucoup de calcul et peut durer 20min, et pour ne pas que l'utilisateur pense qu'il ne se passe rien en arrière plan et que l'ordinateur a planté, je voudrai faire apparaitre une progressbar qui s'incrémente à chaque étape du calcul (de la macro excel).

    Je sais comment créer une userform avec une progressbar, et je sais comment la faire évoluer

    Initaialement j'avais essayé de faire cette progressbar dans une userform du ppt et de l'incrémenter depuis la macro ppt, mais vu que le calcul se fait dans excel je ne pouvais pas faire les deux en simultané.

    Mes questions:
    on m'a donc deja di qu'il fallait que je mette les ligne de commande qui incrémentent ma progressbar dans la macro excel.
    - je ne sais pas si il faut quand même que je mette ma progressbar dans le ppt ou alors si je la met dans une userform excel et la faire s'afficher par dessus mon ppt?
    - mais si je laisse ma progressbar dans la userform ppt et que je la commande depuis la macro excel, comment est ce que je dois faire pour commander la la valeur de la progressbar ppt depuis excel?


    voici ce que je faisais pour commander la valeur de la progressbar (ppt) depuis la macro ppt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim frm As New Progress_Bar
    frm.Show vbModeless
     
    'A chaque étape de calcul, je voudrais mettre :
            frm.ProgressBar1.Value = frm.ProgressBar1.Value + 1
            frm.ProgressBar1.Refresh

    Merci d'avance

    Yves

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

    j'ai essayé de faire affiché la userform avec la progressbar depuis la macro excel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim objPPTApp As PowerPoint.Application
    Dim objPPT As PowerPoint.Presentation
     
    Dim Nom_Fichier As Variant
     
    Nom_Fichier = ActiveWorkbook.Path & "\Cinematique.pps"
     
    Set objPPTApp = GetObject(, "Powerpoint.Application")
     
    Set objPPT = objPPTApp.presentations(Nom_Fichier)
     
    objPPTApp.Run "LancementProgressBar"
    elle s'affiche bien par contre j'ai l'impression qu'elle devient active et donc que la macro excel ne coninue pas après le bout de macro ci-dessus, car ensuite j'ai mis ce bout de code pour voir si je peu faire évoluer la valeur de la progressbar:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim frm As Variant
    frm = objPPTApp.VBE.ActiveVBProject.VBComponents.Progress_Bar
    
    Dim MaxCount As Variant
    MaxCount = 18
    frm.ProgressBar1.Max = MaxCount
    
            frm.ProgressBar1.Value = frm.ProgressBar1.Value + 1
            frm.ProgressBar1.Refresh
    mais rien ne se passe, même si je me doute que la ligne souligné ne doit pas etre la bonne.

    Merci de m'aider...

    Yves

  3. #3
    Membre éclairé Avatar de Yolak
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 341
    Par défaut
    Bonjour

    Je me demande si ce n'est pas un problème d'exécution des affichages...

    Essaye de mettre
    Avant le code qui doit être "prioritaire" c'est à dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoEvents
    objPPTApp.Run "LancementProgressBar"
    Ou alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DoEvents
    frm.ProgressBar1.Value = frm.ProgressBar1.Value + 1
    frm.ProgressBar1.Refresh
    Enfin, j'dis ça, j'dis rien ...

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

    ca ne marche pas, mais en plus du "do events" la ligne de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    frm = objPPTApp.VBE.ActiveVBProject.VBComponents.Progress_Bar
    n'est surement pas bonne. En fait je n'arrive pas a atteindre la valeur de la progressbar du ppt

Discussions similaires

  1. Progressbar pendant execution d'une macro
    Par goby45 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/03/2010, 09h07
  2. thread pour affichage pendant calcul
    Par xasmxasm dans le forum C++Builder
    Réponses: 1
    Dernier message: 06/06/2008, 23h02
  3. ProgressBar pendant SQL
    Par nico71 dans le forum VB.NET
    Réponses: 6
    Dernier message: 29/03/2007, 09h05
  4. Gérer une progressBar pendant le traitement
    Par lilou77 dans le forum BIRT
    Réponses: 1
    Dernier message: 01/02/2007, 12h04
  5. Comment gérer une Progressbar pendant un CopyFrom ?
    Par greg778 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 25/07/2005, 15h34

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