Barre de chargement en fonction du chargement de ma liste

allserv Messages postés 4 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 9 mai 2007 - 14 juil. 2002 à 11:15
CalistX Messages postés 29 Date d'inscription lundi 25 mars 2002 Statut Membre Dernière intervention 9 octobre 2003 - 14 juil. 2002 à 19:50
Bonjour,

Je debute en visual basic, j'ai une liste qui charge des données dans une listbox! Le prob c que le chargement dure un certain temps et je voudrais mettre une barre de chargement précisant à l'utilisateur l'avancement de cette action ! Comment je pourrais faire ?

Merci d'avance

4 réponses

ashboody Messages postés 91 Date d'inscription samedi 30 mars 2002 Statut Membre Dernière intervention 11 octobre 2005
14 juil. 2002 à 12:30
pour remplir ta listbox tu fais une boucle non ?
et bien dans ta boucle tu incrémente la valeur de ta barre de progression (Progressbar1.value) Microsoft Common Control
0
allserv Messages postés 4 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 9 mai 2007
14 juil. 2002 à 12:45
Ben le prob c que ca va pas aller a 100%, car g pas 100 enregistrements, normalment je devrais faire un truc du genre :

form4.ProgressBar1.Max = ?

Mais je sais pas quoi mettre après, tu peux m'aider ?

Merci d'avance
0
ashboody Messages postés 91 Date d'inscription samedi 30 mars 2002 Statut Membre Dernière intervention 11 octobre 2005
14 juil. 2002 à 12:47
ben tu fais

progressbar1.value = (nbre d'éléments chargés/nbre d'éléments a charger) *100
0
CalistX Messages postés 29 Date d'inscription lundi 25 mars 2002 Statut Membre Dernière intervention 9 octobre 2003
14 juil. 2002 à 19:50
Voilà comment est-ce que moi je fais :
Imagine que ça c ta boucle qui rempli la listbox :
While
form4.ListBox.AddItem ....
Wend

Donc moi ce que je fais, c que je fais une premiére boucle de la même façon mais qui ne remplit rien (pour obtenir le nombre d'élément qui seront ajouter):
Dim NbElem

While
NbElem = NbElem + 1
Wend

While
form4.ListBox.AddItem ....
Wend

Ensuite je devise ce nombre par 100 pour savoir le nombre à ajouter à ta Barre de Chargement à chaque tour de la boucle (ou a chaque ajout dans la listbox):

Dim NbElem
Dim ToDoPlus

Form4.ProgressBar1.min = 0
Form4.ProgressBar1.value = 0
Form4.ProgressBar1.max = 100

While
NbElem = NbElem + 1
Wend

ToDoPlus = NbElem / 100

While
Form4.ProgressBar1.value = Form4.ProgressBar1.value + Fix(ToDoPlus)
form4.ListBox.AddItem ....
Wend

Voilà, et pour éviter que la barre ne dépasse 100 (ce qui provoquerai une erreur) :

Dim NbElem
Dim ToDoPlus

Form4.ProgressBar1.min = 0
Form4.ProgressBar1.value = 0
Form4.ProgressBar1.max = 100

While
NbElem = NbElem + 1
Wend

ToDoPlus = NbElem / 100

While
If (Form4.ProgressBar1.value + Fix(ToDoPlus)) > 100 Then
Form4.ProgressBar1.value = 100
Else:
Form4.ProgressBar1.value = Form4.ProgressBar1.value + Fix(ToDoPlus)
End if

form4.ListBox.AddItem ....
Wend

Voili voilà, si ca marche pas tu peux me mailer à calistx@hotmail.com (file moi aussi ton code au passage ce sera plus simple)
0
Rejoignez-nous