Aide Barre de progression

S

selab

Guest
Bonjour tout le monde,
voila j'aimerais faire apparaitre une barre de progression lorsque je lance un programe de calcul que ma genereusement crée Marsoin voir sujet un peu plus bas, j'ai bien essayer d'en mettre une que j'ai recuperer sur ce site mais rien a faire pour lire le module et le modifier mais impossible pour moi.
je rapelle ma config. (office 97, pII 400, Windows NT, 64mo Memoire)
c'est peut etre juste du chichis mais vu que mon tableau est un peu gros j'aurais voulu voir ou il en etais, merci d'avance de votre aide.
 
@

@+Thierry

Guest
=> DOUBLE DEMO ProgressBar Dans StatusBar et UserForm....

Salut Selab et le forum

Tu n'expliques pas vraiment ce que ta macro est sensée faire..."un programe de calcul"n et je n'ai pas eu l'occasion de suivre ce fil de discussion.

Disons que quelque soit la méthode que tu appliqueras pour avoir une barre de progression, tout dépend de la structure de la macro. Un barre de progression s'indexe et s'incrémente en fonction d'une boucle, ou de plusieurs à la condition que celles-ci soient hiérarchisées.

En plus tu indiques que tu travailles sous Excel 1997 ce qui sera probablement un handicap pour les ActiveX :
Microsoft ProgressBar Control, version 6.0 (Mscomctl.ocx)
Microsoft ProgressBar Control, version 5.0/SP2 (Comctl32.ocx)

Je n'ai aucune idée si elles fonctionnent sous XL97. De plus, vue les faibles ressources de ton PC il ne faut pas s'égarer avec des fioritures qui risquent soit de faire planter carrément ta machine, soit dans le meilleurs des cas ralentir d'autant l'exécution du programme.

Dans ce fil => Lien supprimé il y a une démo de ProgressBar ........Sans ProgressBar.... J'avais fait ceci pour notre ami Fab ! et quelques explications aussi...

Essaie déjà de voir si tu peux l'incorporer dans ton code.

Sinon on peut aussi utiliser la barre de status, qui autant sobre et discrète n'est pas gourmande en ressource......... Bien sûr ça ne conviendra pas à ceux/celles qui aiment les trucs qui explosent comme un feu d'artifice à l'écran du User....

Dans l'aide on trouve cet exemple tout bête :

oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
Application.StatusBar = "Please be patient..."
Workbooks.Open filename:="LARGE.XLS"
Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar

...
J'avais vu, que Laurent ou bien Frédérique ou encore quelqu'un d'autre du MPFE avait même fait quelque chose de plus efficace.... Mais évidemment je suis pas tombé vraiment dessus.

Mais bon en sachant que c'était possible je suis reparti casimentà zéro et la démo ci-jointe démontre ce qu'on peut faire sans utiliser aucun ActiveX ni API.

Je pense que ceci devrait marcher même dans ta modeste config. (Surtout la StatusBar)

Bonne Soirée
@+Thierry
 

Pièces jointes

  • StatusBar-ProgressBar.zip
    19 KB · Affichages: 335
Dernière modification par un modérateur:
S

selab

Guest
Re: => DOUBLE DEMO ProgressBar Dans StatusBar et UserForm....

bonjour a tous
Bon Ben il est 2h45 du mat et je n'est tjs pas réussi a placé une progressBarre :-( je suis nulle j'ai bien essayer de comprendre de moi meme la chose j'ai mater sur des faq glaner par-ci par-la mais rien a faire, si une ame charitable peut m'aider je joint mon fichier je l'ai un peu alleger pour etre a 50ko merci d'avance.
Bonne journée a tous.
 

Pièces jointes

  • voltest222.zip
    30.1 KB · Affichages: 94
@

@+Thierry

Guest
Re: => DOUBLE DEMO ProgressBar Dans StatusBar et UserForm....

SAlut SElab et le Forum

C'est normal que tu galères, vite fait en direct de mon café, je regardais ton code... Comme je disais plus haut :

Une barre de progression s'indexe et s'incrémente en fonction d'une boucle, ou de plusieurs à la condition que celles-ci soient hiérarchisées.

... Et ce n'est pas le cas !

Je distingue 5 Boucles non Hiérarchisées et donc indépendantes à la queue :

Boucle AAA) :
For j = 0 To 5
For Each Cellule In Range("D5:p5,S5:AB5,AE5")
For i = 0 To NbLignes - 1
Next i
Next Cellule
Next j


Boucle BBB):
For j = 0 To 5
For Each Cellule In Range("D51:p51,S51:AB51,AE51")
For i = 0 To NbLignes - 1
Next i
Next Cellule
Next j


Boucle CCC):
For j = 0 To 5
For Each Cellule In Range("D110:p110,S110:AB110,AE110")
For i = 0 To NbLignes - 1
Next i
Next Cellule
Next j


Boucle DDD):
For j = 0 To 5
For Each Cellule In Range("D156:p156,S156:AB156,AE156")
For i = 0 To NbLignes - 1
Next i
Next Cellule
Next j

Solutions... (Suis pas réveillé, moi aussi couché à plus de 2:00 du Mat!)

111) On reprends totalement ce prog, pour voir si on peut faire tout en une boucle massive... (Même pas regardé ce qu'il est sensé faire ce code !)

222) on fait cinq petite progressbar (dans le principe Label sur Userform, ou/et dans la StausBar, comme dans ma démo)

333) La solution 222 mais avec une Double barre de progression, qui reprendrait 5 fois une petite Progressbar, mais qui contiendrait une autre ProgressBar avec 5 sections, affichant 20% Effectué... 40% Effectué... 60% Effectué... Etc...

Remarque : la soluce 333) sera lourde pour un petit PC... Et vu que le code et déjà lourd en lui-même (et en plus ce n'est qu'un extrait....)


As tu essayé simplement (évidemment y pas la "frime" mais çà informe le User) ce que je t'avais proposé :

'>>Top de Macro
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True

'>>Fin de Boucle AAA
Application.StatusBar = "20% Effectué."

'>>Fin de Boucle BBB
Application.StatusBar = "40% Effectué."

'....Blah Blah Blah IDEM pour les 3 autres boucles...

'Fin de Macro
Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar


C'est ce que je ferai si j'avais si peu de ressource... (Demande à ton boss de te mettre au moins 128 de RAM .... 256 serait pas un luxe, au prix où la RAM est maintenant...)

Voilà, en espèrant bien t'orienter tout en étant dans le comma ! :)

Bonne Journée
@+Thierry
 
S

selab

Guest
Re: => DOUBLE DEMO ProgressBar Dans StatusBar et UserForm....

Bonjour Thierry et le Forum
Merci de t'etre penché sur mon probleme mais comme je le disait je suis vraiment debutant j'ai appris a travailler sur excel et ces formule que par moi meme avec des example recuperer a droite et a gauche mais les macros :-( enfin, "un petit detail peut etre sans importance mais mon pc modeste est en reseaux sur un serveur" quand a la memoire il est prevue de passer a 128mo voir de le changer pour un nouveaux modele, mais sans trop en demander te serais il possible de regarder cette macros et de m'incorporer une progresbarre la mieux adapter, je pense personnellement pour que j'apprend mieux avec des example sur des fichier que je connais.
merci encore
 
@

@+Thierry

Guest
Re: => DOUBLE DEMO ProgressBar Dans StatusBar et UserForm....

Salut Selab

Vraiment en cinq minute car là je reprends le taff...

Je t'ai fait l'option deux, avec UserForm et StatusBar... Mais pour faire l'option trois, il y a trop de boulot pour le faire comme çà en un coup de cuillère à pot !! (Et puis le jeu en vaut-il la chandelle?)

Tiens au fait je bosse avec IBM Client Access... Tu es chez eux ?

Aller bon Après Midi
@+Thierry
 

Pièces jointes

  • ProgressBar-Selab.zip
    39.2 KB · Affichages: 103
Dernière modification par un modérateur:
S

selab

Guest
Slt thierry
super sympa je vais tester ça, quand a client access il me pour faire mes extraction de fichier sur un as400/ et infolog v5 mais je ne bosse pas chez ibm, c'est pratique car avant il me fallait me taper toute cette base de donner a la main imagine le boulot la je gagne un temps fou
bon je teste et te tiens au courant
a+
 
@

@+Thierry

Guest
Re: => DOUBLE DEMO ProgressBar Dans StatusBar et UserForm....

Zut, le Zip du post précédent n'est pas la dernière version...

Ici cette version met à jour le Caption (Titre) du UserForm en fonction du Tableau où la macro travaille...

Et la StatusBar indique la progression globale (25% par 25%)...

Voilà c'est tout ce que je peux faire en rapide

@+Thierry
 

Pièces jointes

  • ProgressBar-Selab.zip
    40.8 KB · Affichages: 284
  • ProgressBar-Selab.zip
    40.8 KB · Affichages: 286
  • ProgressBar-Selab.zip
    40.8 KB · Affichages: 288
S

selab

Guest
Remerciement sincère

Bonjour tous le monde:
Je tenais a remercier tous particulierement Marsoin pours son aide sur la macros realisé sur mon tableaux voir "mon premier file sur ce sujet" et Thierry pour la barre de progression qu'il m'a incorporer dessus grasse a eux je recupere un tableaux de 7mo au lieu de 26 au depart je remercis aussi tous les visiteurs de mes deux sujet qui on pris la peine de les lires,
et longue vie au forum bonne continuation a tous.
Selab.
 

Statistiques des forums

Discussions
312 109
Messages
2 085 383
Membres
102 878
dernier inscrit
asmaa