Barre de progression avec VB
Résolu/Fermé
Berty59
Messages postés
38
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
21 janvier 2010
-
18 juin 2009 à 14:46
lina - 14 janv. 2010 à 13:24
lina - 14 janv. 2010 à 13:24
A voir également:
- Barre de progression word
- Supprimer une page word - Guide
- Espace insécable word - Guide
- Organigramme word - Guide
- Word gratuit - Guide
- Signature électronique word - Guide
13 réponses
Bonjour,
Je ne sais pas utilisé les Progressbar, mais tu peux utilisé 3 labels superposés sur un Userform.
Un rouge qui montrera le % restant
Un vert pour la progression (Incrementation)
et le dernier qui affiche le % de traitement
Le truc est de rafficher l'userform pour qu'il puisse augmenter la taille du label vert.
Je ne sais pas utilisé les Progressbar, mais tu peux utilisé 3 labels superposés sur un Userform.
Un rouge qui montrera le % restant
Un vert pour la progression (Incrementation)
et le dernier qui affiche le % de traitement
Le truc est de rafficher l'userform pour qu'il puisse augmenter la taille du label vert.
Berty59
Messages postés
38
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
21 janvier 2010
2
18 juin 2009 à 15:20
18 juin 2009 à 15:20
ok, merci d'avoir répondu si vite mais je ne sais pas faire ces manip, pourrais-tu être plus précis ?
Je ne sais pas du tout comment faire et j'aimerai que ça s'affiche dans une msgbox si possible
merci d'avance pour la réponse !
Je ne sais pas du tout comment faire et j'aimerai que ça s'affiche dans une msgbox si possible
merci d'avance pour la réponse !
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
18 juin 2009 à 15:26
18 juin 2009 à 15:26
salut Berty
Tiens regarde ça je pense que sa te plaira :
un petit exemple bateau:
sub
dim numligne as integer, nblig as integer
numligne=1
nblig=1
range("A1").select
while cells(1,1) <> empty
nblig=nblig+1
activecell.offset(1,0).activate
range("A1").select
while cells(1,1) <> empty
[code]
Application.StatusBar = "Traitement de la ligne " & numligne & " sur " & nblig & " lignes"
numligne = numligne+1
wend
Application.StatusBar = False
end sub
En faite ce qu'il y a en gras, c'est le plus important, il affiche un compteur de traitement en bas de la page excel, juste sous les noms de feuilles. N'oublie pas la ligne en fin de programme qui te remet ta barre par défault (Application.StatusBar = False)
Voila si tu as des questions hésite pas
Necro27
Tiens regarde ça je pense que sa te plaira :
un petit exemple bateau:
sub
dim numligne as integer, nblig as integer
numligne=1
nblig=1
range("A1").select
while cells(1,1) <> empty
nblig=nblig+1
activecell.offset(1,0).activate
range("A1").select
while cells(1,1) <> empty
[code]
Application.StatusBar = "Traitement de la ligne " & numligne & " sur " & nblig & " lignes"
numligne = numligne+1
wend
Application.StatusBar = False
end sub
En faite ce qu'il y a en gras, c'est le plus important, il affiche un compteur de traitement en bas de la page excel, juste sous les noms de feuilles. N'oublie pas la ligne en fin de programme qui te remet ta barre par défault (Application.StatusBar = False)
Voila si tu as des questions hésite pas
Necro27
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
necro27
Messages postés
160
Date d'inscription
jeudi 28 mai 2009
Statut
Membre
Dernière intervention
11 février 2011
8
18 juin 2009 à 15:28
18 juin 2009 à 15:28
je crois avoir répondu trop vite désolé .... je suis resté focalisé sur le vb excel lol
Berty59
Messages postés
38
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
21 janvier 2010
2
18 juin 2009 à 15:41
18 juin 2009 à 15:41
je vais être plus clair moi aussi de mon côté.
Dans mon programme VB j'ai un menu avec un bouton statistiques, quand je clique sur ce bouton, il ouvre une autre userform avec les statistiques présente dans un classeur excel. Le temps que ça charge (20 secondes environ), j'aimerai qu'une msgbox s'ouvre avec quelque chose (n'importe quoi), qui montre l'avancement du traitement en cours, puis que cette fenêtre se ferme une fois le compteur arrivé au bout et qu'alors ma page statistiques s'ouvre.
ps : dans aucun cas je ne touche à excel, il reste non visible durant toute la durée de la procédure, je ne gère mon application qu'avec une interface vb.
Dans mon programme VB j'ai un menu avec un bouton statistiques, quand je clique sur ce bouton, il ouvre une autre userform avec les statistiques présente dans un classeur excel. Le temps que ça charge (20 secondes environ), j'aimerai qu'une msgbox s'ouvre avec quelque chose (n'importe quoi), qui montre l'avancement du traitement en cours, puis que cette fenêtre se ferme une fois le compteur arrivé au bout et qu'alors ma page statistiques s'ouvre.
ps : dans aucun cas je ne touche à excel, il reste non visible durant toute la durée de la procédure, je ne gère mon application qu'avec une interface vb.
J'ai mis l'userform dont je te parlais sur ce site.
Lorsque tu le fichier Charg.frm.txt retire le .txt avant de sauvgarder.
il sera surement à adapter a tes besoins.
les Run "Mac1" etc.. sont les procedures
http://www.cijoint.fr/cjlink.php?file=cj200906/cijjmwAENF.txt
Lorsque tu le fichier Charg.frm.txt retire le .txt avant de sauvgarder.
il sera surement à adapter a tes besoins.
les Run "Mac1" etc.. sont les procedures
http://www.cijoint.fr/cjlink.php?file=cj200906/cijjmwAENF.txt
Berty59
Messages postés
38
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
21 janvier 2010
2
18 juin 2009 à 16:15
18 juin 2009 à 16:15
merci pour .txt, j'ai fait comme tu m'a di, renommé en Charg.frx, mais je dois bien avouer que ce qu'il y a dans ce .txt, je ne le comprend pas.... Que dois-je faire avec?, qu'est-ce quie cela représente ?
Berty59
Messages postés
38
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
21 janvier 2010
2
19 juin 2009 à 10:29
19 juin 2009 à 10:29
J'ai regardé tout ça et finalement j'ai trouvé une solution à mon problème, j'ouvre deux userforms, une qui fait le traitement, l'autre avec un timer et une progressbar (j'ai appris à m'en servir !). Il ne me reste plus qu'à faire se lancer les 2 en même temps, ce qui pour l'instant reste un problème, mais je cherche.
Merci à tous de vous être décarcassé comme ça !
Merci à tous de vous être décarcassé comme ça !
bjr ,
alors justement j en suis arrivé moi aussi a la meme étape , de mettre les 2 en meme tps la barre de pregression et le traitement , stp si tu arrive a trouver quelque chose fait moi signe et moi de meme .
alors justement j en suis arrivé moi aussi a la meme étape , de mettre les 2 en meme tps la barre de pregression et le traitement , stp si tu arrive a trouver quelque chose fait moi signe et moi de meme .
Berty59
Messages postés
38
Date d'inscription
mercredi 3 juin 2009
Statut
Membre
Dernière intervention
21 janvier 2010
2
28 août 2009 à 13:29
28 août 2009 à 13:29
Ben, pour l'instant j'en suis resté au même niveau, il doit y avoir un moyen, c'est sûr, mais c'est vraiment compliqué pour une si petite chose !
Bonjour à tous. Même si je répond tard, moi aussi je suis à la recherche de la solution et effectivement il faut positionner une valeur dans les parenthèses du second useform : ex une procédure 1 pour boite progression puis une procedure à l'appel du formulaire stat qui renvoi une valeur à la procédure 1.
J'avais jadis fait la même chose pour une autre traitement :
appel de la première procedure procédure1()
appel de la seconde procedure avec boiteprogresse("valeur de fin")
En récupérant cette valeur de fin, la première procédure s'arrête.
Me semble t-il...
Si vous avez trouvé la solution, merci de m'informer. @+
J'avais jadis fait la même chose pour une autre traitement :
appel de la première procedure procédure1()
appel de la seconde procedure avec boiteprogresse("valeur de fin")
En récupérant cette valeur de fin, la première procédure s'arrête.
Me semble t-il...
Si vous avez trouvé la solution, merci de m'informer. @+
Bonjour,
j'ai le même prob comme vous, et j'aimerai bien savoir est ce que vous l'avez déjà résolu.
mon programme en vb dure presque 5min en exécution afin qu 'il puisse m ouvrir mon fichier excel.
j'ai procédée à mettre deux forms:
une qui contient le traitement , et au sein de cette procédure je fait appel au 2eme form qui contient la barre de progression avec un timer ( avant de commencer le traitement de génération du fichier excel)... mais maleureusement , elle indique 1% puis elle retourne au form1 pour exécuter le traitement
voilà en bref mon prob et Merci bcp pour votre aide.
j'ai le même prob comme vous, et j'aimerai bien savoir est ce que vous l'avez déjà résolu.
mon programme en vb dure presque 5min en exécution afin qu 'il puisse m ouvrir mon fichier excel.
j'ai procédée à mettre deux forms:
une qui contient le traitement , et au sein de cette procédure je fait appel au 2eme form qui contient la barre de progression avec un timer ( avant de commencer le traitement de génération du fichier excel)... mais maleureusement , elle indique 1% puis elle retourne au form1 pour exécuter le traitement
voilà en bref mon prob et Merci bcp pour votre aide.