[VBA EXCEL] Listbox & While

Fermé
Clem - 22 oct. 2009 à 23:44
 calibos - 23 oct. 2009 à 09:30
Bonjour à tous,
je vous expose mon problème.

Je remplie une listbox avec un while qui va chercher des valeurs de cellules.
Seulement voila, j'aimerais beaucoup que la listbox se remplissent "en direct". Car ce qui se passe, c'est qu'une fois que je clique sur le bouton pour lancer le remplissage de la listbox, ça charge, mais rien ne s'affiche au fur et a mesure.
C'est seulement à la fin du while que ma listbox s'affiche, remplie.

Une idée de comment voir "en live" le remplissage de mon form ? Peut être une histoire de focus ou je ne sais quoi ?

Merci à vous ;)
A voir également:

3 réponses

Bonjour,

Il y a au moins deux manières de faire:
- en utilisant la fonction DoEvents (qui redonne la main au système pour acomplir des tâches en attente)
- en utilisant la méthode Repaint (qui redessine la Userform)

Exemple: Clic sur la Userform, la ListBox se remplit au rythme d'une seconde

Private Sub UserForm_Click()
Dim i
For i = 1 To 10
ListBox1.AddItem ("toto " & i)
Application.Wait (Now + TimeValue("0:00:01")) 'attend une seconde
DoEvents 'redonne la main au système
'UserForm1.Repaint 'ou redessine la Userform
Next
End Sub
3
Tu crois vraiment que j'ai posté un message ici pour entendre ce genre de réponse ?
Si ça m'importait peu, j'aurais pas poser la question.

Merci quand même pour ta réponse..
1
Salut.
Tant pis si ça ne se remplit pas en live. L'important est que tout y soit.
Efficacité ne rime pas avec Esthétisme
-2