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 :

Progress bar reste blanche [XL-2003]


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
    Octobre 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 43
    Par défaut Progress bar reste blanche
    Hello tout le monde,

    Je cherche à afficher une progressbar dans une boucle, en fait c'est une copie de données d'un fichier vers un autre, lors de la sauvegarde, rien de très compliqué.

    J'ai donc mis ceci :

    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
    27
    28
    29
    30
     
    Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
     
    ...
     
     
       Application.ScreenUpdating = False
       Application.Visible = False
     
       For i = 5 To NbLignesDashbd
    '       Load UserForm2
    '       UserForm2.Repaint
            UserForm2.ProgressBar1.Max = NbLignesDashbd
            UserForm2.ProgressBar1.Value = i
            UserForm2.Show
     
    ...
     
    End Sub
     
     
    Private Sub UserForm_Activate()
        SleepVBA
        Unload Me
    End Sub
     
     
    Private Sub UserForm_Initialize()
        Me.ProgressBar1.Value = 0
    End Sub
    Et le code sleepVBA dans un module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Option Explicit
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
     
    Sub SleepVBA()
        'tempo 100 ms
        Sleep 100 'pause en millisecondes
    End Sub

    Et j'obtiens ca :



    J'ai essayé de changer la tempo jusqu'à 1 seconde en pensant qu'elle n'avait pas le temps de s'afficher mais ca ne vient pas de là non plus ....

    Je pense qu'il ne me manque pas grand chose, mais je ne le trouve pas ce grand chose .... merci d'avance !!

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    enlève le code dans "on activage"

    sort l'appel de la fenêtre de ta boucle et utilise un mode non-modal, rajoute un DoVents pour laisser au système le temps de tout remettre à jour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
       NbLignesDashbd = 50
       Application.ScreenUpdating = False
       Application.Visible = False
       UserForm1.ProgressBar1.Max = NbLignesDashbd
       UserForm1.Show False
       For i = 5 To NbLignesDashbd
        SleepVBA
        DoEvents
        UserForm1.ProgressBar1.Value = i
        Next
         Unload UserForm1
     End Sub

  3. #3
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 43
    Par défaut
    Merci ca fonctionne !!

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

Discussions similaires

  1. progress bar en c++
    Par boulette&co dans le forum MFC
    Réponses: 1
    Dernier message: 23/05/2005, 08h26
  2. [ATL] Petite question sur les progress bar
    Par MrMaze dans le forum MFC
    Réponses: 1
    Dernier message: 06/05/2005, 09h40
  3. [MFC]Changer la couleur d'un progress bar
    Par Deedier dans le forum MFC
    Réponses: 1
    Dernier message: 21/04/2005, 18h39
  4. [VB.NET] Mise en place d'une progress bar
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 14
    Dernier message: 19/10/2004, 09h23
  5. Progress bar au boot
    Par saibe dans le forum Administration système
    Réponses: 2
    Dernier message: 18/08/2003, 10h01

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