Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005
-
2 juin 2005 à 14:04
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005
-
3 juin 2005 à 13:20
bonjour,
je sais que les progress bar on en parle sur le forum, mais le problème c'est que c'est sous VB6 et moi je suis sur VB Editor (je fais un logiciel pour traiter des feuilles excel).
donc ma question est simple: comment faire une progress bar qui progresse pendant que mon code (exécuté à partir d'un form) s'exécute.
parce que là apparemment, j'ai pas de gens qui faisaient ca sous VB Editor....
merci de votre aide.
Daydayerement Vôtre
A voir également:
Barre de progression pendant l'exécution d'une macro
opsi1985
Messages postés15Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention29 septembre 2007 2 juin 2005 à 15:10
Salut, il faut savoir si ton programme execute des boucles du genre
for i = 0 to 1000
.......
.......
.......
next
si c'est ca voici un bout de code que j'ai fait :
pourcentagre = (i + 1) * 100 / nb_user_select
B = Int(2.55 * p)
w = Int(104 * p) '50 est la largeur de la barre à 100%
'Progression.Width = W
Progression.BackColor = RGB(255 - B, B, 0)
Progression.Caption = p & "%"
Progression.Refresh
moi dans mon cas je faisait un travail sur des utilisateurs, chq
utilisateur represente un passage, donc toi se sera une formule du
genre "pourcentage =(i+1)*100/nb_de_passage_dans_la_boucle mais en
faite il faut te débrouiller pour que tu es à la fin un pourcentage ...
B sert à la couleur
W la taille
et Progression label blanc avec le border style1
voila tu place ceci avant ton next ou ton wend si tu es dans un While .... wend.
Si ton prog est une succesion de programme tu retape le bout de code à la fin d'une commande...
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005 2 juin 2005 à 15:30
merci de ta réponse opsi! en plus c'est assez bien expliqué!
bon j'ai qq tites questions sur le bout de code que tu m'as filé qd mm.
1)la var 'pourcentage', tu t'en sers où dans le code pour ta pbar?
2) dans 'B = Int(2.55 * p)', à quoi sert la variable 'p'? et de quel type?
3)ma progress bar, je voudrais qu'elle apparaisse autre que sur le form à partir duquel je lance le code de recherche.... genre j'ai un form ou l'utilisateur rentre ce qu'il veut que je cherche sur la feuill excel, il clique sur 'search' et le form de saisie disparait pour faire place a la pbar.à ton avis, faut que je transfere le code de recherche sur le form contenant la pbar? et sur le form de saisie, qqd je clique search je fais apparaitre le form... je pense que c'est ca...
merci.
Daydayerement Vôtre
Vous n’avez pas trouvé la réponse que vous recherchez ?
opsi1985
Messages postés15Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention29 septembre 2007 2 juin 2005 à 16:23
Ah ca me fait plaisir que tu trouves ça pas trop pourris !!!
Effectivement tu as raison j'ai fait une gourde dans le code quand j'ai
renommer les variables pour que cela soit plus explicite !!!!
Voici la réctification --> :
pourcentagre = (i + 1) * 100 / nb_user_select
B = Int(2.55 * pourcentage)
w = Int(104 * pourcentage) '50 est la largeur de la barre à 100%
'Progression.Width = W
Progression.BackColor = RGB(255 - B, B, 0)
Progression.Caption = pourcentage & "%"
Progression.Refresh
Voila !!!
ca devrait t'éclaire sur la fameuse variable p qui n'ait autre que pourcentage !!!
ensuite je t'explique ce que B = Int(2.55 * pourcentage) veut dire :
en faite les couleurs sont composé de 3 couleurs Rouge, jaune , bleue, et chaqune en 8 bit soit 255,
bref en faisant ceci B = Int(2.55 * pourcentage) tu as un B qui
varie de 0 à 255 si ta variable pourcentage est vraiement un
pourcentage allant de 0 à 100 !!
Donc ceci : Progression.BackColor RGB(255 - B, B, 0) te fais passer ta barre de rouge à vert !!!)
Sinon pour que ce soit ta barre dans une autre form qui change, je
laisserait le code dans ta form de recherche, je créerais une autre
form qui s'appelerait pbar par exemple et je ferais :
pbar.Progression.BackColor =
RGB(255 - B, B, 0)
pbar.Progression.Caption = pourcentage & "%"
pbar.Progression.Refresh
Apres c'est a toi de voir. Chacun ces méthodes ....
Tu peux ajouter aussi ceci : Progression.Width = W
qui permettrait de faire agrandir ta barre au fur et à mesure que ca avance mais moi je trouvais ca pas tres joli !!
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005 2 juin 2005 à 16:43
et autre chose: si tu mets cela après le next, on ne peut pas voir, au fur et à mesure des i qui avance dans la boucle, le changement de la progress bar... non?
Daydayer
Messages postés201Date d'inscriptionmercredi 1 décembre 2004StatutMembreDernière intervention13 août 2005 3 juin 2005 à 09:30
rebonjour! c'est encore moi!
bon alors, reprenons les choses dans l'ordre, parce que moi ça marche pas....
bon alors j'ai comme code avec mes variables:
pourcentage = (Row + 1) * 100 / SearchLimit
B = Int(2.55 * pourcentage)
w = Int(104 * pourcentage) '50 est la largeur de la barre à 100%
d'abord sur le type de tes var: pourcentage c'est un int?
et progression c'est bien un label donc (un truc que tu insères normalement pour donner des titres juste avant une textbox par exemple...).
parce que où tu vois que le label a une propriété refresh? ou alors il me manque une bibliothèque dans mes references...
évidemment je suis sure que ce code marche, vu que tu l'as testé, mais moi non, donc il doit me manquer qqch...je sais pas. parce que qd j'exécute le code, je me retrouve avec une erreur du style 'membres de mthode ou de données introuvable', avec '.Refresh' ssurligné en bleu...
opsi1985
Messages postés15Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention29 septembre 2007 3 juin 2005 à 10:55
resalut,
Alors pourcentage, moi je l'ai mis en int, car comme ca lorsque je le fait afficher il me met un nombre rond, mais tu peux le mettre en long si tu veux... , mais tu aura des vielles virgules !!
et progressions c'est bien un label comme tu le décrit, ce que je change juste c'est le border style que je met a 1( fixed single je crois ...).
Vérifie bien que ton B ne dépasse pas 255 sinon ca pourrait faire une erreur... sinon je vais te montrer que label a bien une method refresh .. :
opsi1985
Messages postés15Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention29 septembre 2007 3 juin 2005 à 10:56
Voila, .... mais bon c'est bizarre que ca ne marche pas chez toi car y a vraiement pas grand chose comme code ^^
n'hesite pas a reposter =) même si ca marche !!!