Rechercher : dans
Par :

Barre de progression avec VB

Dernière réponse le 28 aoû 2009 à 13:29:25 Berty59, le 18 jun 2009 à 14:46:23 
 Signaler ce message aux modérateurs

Bonjour,
Je travaille sur un programme en VB dont certaines commandes demande entre 20 à 30 secondes pour s'exécuter et j'aimerai, si possible qu'au moment où je lance le traitement (comme un clic sur un bouton), une msgbox s'ouvre avec dedans une barre de progression qui indiquerai alor à l'utilisateur quand le traitement serai terminé.
Je recherche donc le code en VB de ce genre d'opérations
Merci d'avance pour vos réponses !

Meilleures réponses pour « barre de progression avec VB » dans :
Insérer une barre de progression sous PowerPoint VoirINSERER UNE BARRE DE PROGRESSION Pour permettre de visualiser l'avancement d'un exposé, une barre de progression peut être affichée en bas du diaporama. Voici comment procéder: Une fois le diaporame réalisé, allez dans Outils, Macro et Visual...
Introduction à Visual Basic VoirPrésentation de Visual Basic Visual Basic est un outil développé par Microsoft pour développer facilement des applications fonctionnant sous Microsoft Windows ©. Visual Basic est, comme son nom l'indique, un outil visuel permettant de créer...

1

Pawn, le 18 jun 2009 à 15:18:07

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.

Répondre à Pawn

2

Berty59, le 18 jun 2009 à 15:20:26

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 !

Répondre à Berty59

3

Pawn, le 18 jun 2009 à 15:24:31

C'est plus une manip que vrai msgbox ^^
Je cherche le code que j'avais fait pour mieu te guider

Répondre à Pawn

4

necro27, le 18 jun 2009 à 15:26:36

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

Répondre à necro27

5

necro27, le 18 jun 2009 à 15:28:05

Je crois avoir répondu trop vite désolé .... je suis resté focalisé sur le vb excel lol

Répondre à necro27

6

Pawn, le 18 jun 2009 à 15:36:39

Salut Necro,
Bon point, je regarderais ton code.
Berty tu travail sur excel?

Répondre à Pawn

7

Berty59, le 18 jun 2009 à 15:41:02

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.

Répondre à Berty59

8

Pawn, le 18 jun 2009 à 15:54:38

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

Répondre à Pawn

9

Berty59, le 18 jun 2009 à 16:15:11

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 ?

Répondre à Berty59

10

Pawn, le 18 jun 2009 à 16:31:45

Importe le par VBA project

Répondre à Pawn

11

Berty59, le 19 jun 2009 à 10:29:14

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 !

Répondre à Berty59

12

chmissa, le 25 aoû 2009 à 15:22:33

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 .

Répondre à chmissa

13

 Berty59, le 28 aoû 2009 à 13:29:25

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 !

Répondre à Berty59
Collection CommentÇaMarche.net