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 l'éxéction de macro [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut ProgressBar pendant l'éxéction de macro
    Bonjour le Forum,

    je souhaiterais créer une barre de progression (basique) qui progresserais en fonction de l'avancée de 4 macros qui se succèdent.

    Macro 1
    Macro 2
    Macro 3
    Macro 4

    Chaque macro ayant un temps d’exécution différent.

    Comment faire en sorte que celle-ci progresse en fonction du temps d’exécution de chaque et non pas par tranche de Macro1 (25%) Macro2 (50%).......
    et en rajoutant le nom de la macro qui s'éxécute "Exécution de la macro 1 : Merci de patienter...."

    avez-vous un exemple de code que je puisse travailler dessus.
    je n'ais rien trouvé qui me plaise ....


    Merkiiii
    Bonne journée
    Seb



    ###############################
    C'est Totomatique, On va tout Totomate-isé ;-)
    ###############################

  2. #2
    Membre confirmé
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Points : 584
    Points
    584
    Par défaut
    http://www.developpez.net/forums/d56...sion-sous-vba/

    Sinon j'ai un truc qui traîne dans un coin si tu veux, mais je trouve que ça ralentie la macro
    C'est en creusant qu'on fait des trous

  3. #3
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, voir ici

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour
    tout d'abords oui diviser la Progress par le nombre de macros
    puis chaque tranches doit progresser selon la macro pour cela il faudrait que l'on ai ton fichier sous la main sans ca c'est tellement du cas par cas qu'il sera impossible pour quiconque de t'aider
    tu le comprends bien

    car pour determiner la progression il faut l'objectif de la macro et le debut

    exemple simple
    prend un fichier vierge
    met lui un userorm dans le quel tu met un progressbar
    met lui aussi un textbox
    comme tu a quatre macro on va mettre la progressbarx Max a 40

    maintenant colle se code dans un module standard et regarde
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    Dim d As Long
    Sub testprogress()
    d = 0
    UserForm1.Show 0
    macro1
    macro2
    macro3
    macro4
    End Sub
    Sub macro1()
    Max = UserForm1.ProgressBar1.Max / 4
    UserForm1.TextBox1 = "macro1"
    For i = 1 To 10
    d = d + 1
    Application.Wait (Time + 0.00001)
    UserForm1.ProgressBar1.Value = d
    Next
    End Sub
    Sub macro2()
    DoEvents
    UserForm1.TextBox1 = "macro2"
    Max = UserForm1.ProgressBar1.Max / 4
    For i = 1 To 10
    d = d + 1
    Application.Wait (Time + 0.00001)
    UserForm1.ProgressBar1.Value = d
    Next
    End Sub
    Sub macro3()
    DoEvents
    UserForm1.TextBox1 = "macro3"
    Max = UserForm1.ProgressBar1.Max / 4
    For i = 1 To 10
    d = d + 1
    Application.Wait (Time + 0.00001)
    UserForm1.ProgressBar1.Value = d
    Next
    End Sub
    Sub macro4()
    DoEvents
    UserForm1.TextBox1 = "macro4"
    Max = UserForm1.ProgressBar1.Max / 4
    For i = 1 To 10
    d = d + 1
    Application.Wait (Time + 0.00001)
    UserForm1.ProgressBar1.Value = d
    Next
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Avant de vouloir une barre de progression, tu devrais vouloir t'assurer que ta macro ne tournera jamais sur un Excel à 64 bits. À moins de trouver à quelque part un contrôle de barre de progression compilé pour être compatible avec un Office 64 bits. Parce que les vieux contrôles VB6 (RichTextBox, Calendar, ProgressBar, MonthView, DateTimePicker etc.) ne sont pas compatibles avec Office à 64 bits.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  6. #6
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut
    hello
    Merci à tous des infos et code
    Suite au commentaire de clementmarcotte je comprends mieux pourquoi DateTimePicker ....... ne fonctionnais plus .... je fonctionne sous Office 64.

    ok ok
    Du coup, comment contourner la chose et avoir des DateTimePicker .... et du coup barre de progression sous Office 64 ????

    J'ia testé des barre de progression (office inferieur et cela fonctionne)
    quel est le meilleur choix à faire ?
    Bonne journée
    Seb



    ###############################
    C'est Totomatique, On va tout Totomate-isé ;-)
    ###############################

  7. #7
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, toujours d'actualité : Développer avec Office 64 bits

    D'autant plus que même Microsoft déconseille l'installation d'une version 64 bits d'Office.

    Office 32 bits est recommandé pour la plupart des utilisateurs
    Nous recommandons la version 32 bits d’Office pour la plupart des utilisateurs, car elle offre une plus grande compatibilité avec la plupart des autres applications, en particulier les compléments tiers. C’est la raison pour laquelle la version 32 bits d’Office 2013 est installée par défaut, même sur les systèmes d’exploitation Windows 64 bits. Sur ces systèmes, le client Office 32 bits est pris en charge en tant qu’installation Windows-32-on-Windows-64 (WOW64). WOW64 est l’émulateur x86 qui permet l’exécution de façon transparente des applications Windows 32 bits sur les systèmes Windows 64 bits. Cela permet aux utilisateurs de continuer à utiliser les contrôles ActiveX et les compléments COM Microsoft avec la version 32 bits d’Office.

  8. #8
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut
    Ok merci de la citation ;-)
    Je viens de rebasculer en 32....
    Plus simple....
    Je vais tester vis codes.....
    À+ merci
    Bonne journée
    Seb



    ###############################
    C'est Totomatique, On va tout Totomate-isé ;-)
    ###############################

  9. #9
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Bonjour,

    pour Excel 64 bits les ActiveX DateTimePicker et ProgressBar peuvent être remplacés par de simples UserForm s'en passant !
    Il doit y avoir un exemple de calendrier dans le forum Contribuez sinon un peu partout sur la Toile …


    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    Bonjour Marc
    ainsi que la progressbar (contribution avec mon pseudo) avec(style vista ou blue seven ou simple )
    mais pour ca il faut taquiner le bouton rechercher n'est ce pas !!!

    allez tiens voila c'est la
    http://www.developpez.net/forums/d12...facon-patosch/
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut
    Hello
    parfait pour le premier code de patricktoulon

    merci à vous
    Bonne journée
    Seb



    ###############################
    C'est Totomatique, On va tout Totomate-isé ;-)
    ###############################

  12. #12
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut
    Hello LeForum

    je viens de retravailler un peut le code de Patrick post 4


    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    Dim d As Long
    Sub ProgressBar()
    pb = 0
    Usf_ProgressBar.Show 0
     
     
    macro1
    macro2
    macro3
    macro4
    macro5
    macro6
     
    Unload Usf_ProgressBar
     
    End Sub
    Sub macro1()
     
    Max = Usf_ProgressBar.ProgressBar1.Max / 6
    Call Tridonnées
    Usf_ProgressBar.TextBox1 = "Tridonnées"
    For i = 1 To 10
    pb = pb + 1
    'Application.Wait (Time + 0.00001)
    Usf_ProgressBar.ProgressBar1.Value = pb
    Next
    End Sub
    Sub macro2()
     
    DoEvents
    Usf_ProgressBar.TextBox1 = "Formate_Date"
    Call Formate_Date
    Max = Usf_ProgressBar.ProgressBar1.Max / 6
    For i = 1 To 10
    pb = pb + 1
    'Application.Wait (Time + 0.00001)
    Usf_ProgressBar.ProgressBar1.Value = pb
    Next
    End Sub
    Sub macro3()
     
    DoEvents
    Usf_ProgressBar.TextBox1 = "ExtractRestant45J"
    Call ExtractRestant45J
    Max = Usf_ProgressBar.ProgressBar1.Max / 6
    For i = 1 To 10
    pb = pb + 1
    'Application.Wait (Time + 0.00001)
    Usf_ProgressBar.ProgressBar1.Value = pb
    Next
    End Sub
    Sub macro4()
     
    DoEvents
    Usf_ProgressBar.TextBox1 = "ListBudgetMois"
    Call ListBudgetMois
    Max = Usf_ProgressBar.ProgressBar1.Max / 6
    For i = 1 To 10
    pb = pb + 1
    'Application.Wait (Time + 0.00001)
    Usf_ProgressBar.ProgressBar1.Value = pb
    Next
    End Sub
    Sub macro5()
     
    DoEvents
    Usf_ProgressBar.TextBox1 = "ListDifference"
    Call ListDifference
    Max = Usf_ProgressBar.ProgressBar1.Max / 6
    For i = 1 To 10
    pb = pb + 1
    'Application.Wait (Time + 0.00001)
    Usf_ProgressBar.ProgressBar1.Value = pb
    Next
    End Sub
     
    Sub macro6()
     
    DoEvents
    Usf_ProgressBar.TextBox1 = "Format_Sht_INTERFACE"
    Call Format_Sht_INTERFACE
    Max = Usf_ProgressBar.ProgressBar1.Max / 6
    For i = 1 To 10
    pb = pb + 1
    'Application.Wait (Time + 0.00001)
    Usf_ProgressBar.ProgressBar1.Value = pb
    Next
    End Sub
    Ce qui est super bizarre c'est que la progress bar revient début à chaque exécution de macro.

    J'ai mis "Pb" en variable car "d"est en variable de l'une des macro.

    qqn aurait une idée ?
    Bonne journée
    Seb



    ###############################
    C'est Totomatique, On va tout Totomate-isé ;-)
    ###############################

  13. #13
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut
    c'est bon j'ai compris
    j'ai mis
    au lieu de
    c'était tout bete !!



    a+ plus le forum
    Bonne journée
    Seb



    ###############################
    C'est Totomatique, On va tout Totomate-isé ;-)
    ###############################

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

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. Message pendant utilisation d'une macro
    Par Jonathan Raucy dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 18/03/2008, 16h48
  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