Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Excel 2000 / VBA / userForm / listbox / refresh ??

2 réponses
Avatar
José Delfosse
Sous Excel 2000, je crée un userForm dans lequel il y a un CommandButton et
un ListBox

Quand on appuie sur le bouton, la macro associée rempli la listbox avec
addItem()

Sauf que le bouton est relâché lorsque la macro est terminé,
et le contenu de la listbox n'est affiché que lorsque le bouton est relâché

(la macro prends un certain temps...)

Conséquence: le contenu de la listbox est affiché d'un seul coup à la fin de
la mcaro lorsque le bouton est relâché.

Comment faire pour que pendant la macro associé au bouton, on puisse voir
dans la listbox la progression des addItem() ?

Y a t-il une sorte de refresh() de la listbox que l'on pourrait appeller
dans la macro du bouton à chaque tour de boucle ?

JD

2 réponses

Avatar
Denis Michon
Bonjour José,

Voici un petit exemple :

Les données qui vont renseignées le listbox se retrouvent dans la feuille de calcul : A1:A100

Tu devrais être capable de voir défiler (pas lire) les entrées et à la toute fin, l'entrée sélectionnée est la première.

'-----------------------
For a = 1 To 100
Me.ListBox1.AddItem Range("A" & a).Text
Me.ListBox1.ListIndex = a - 1
DoEvents
Next
Me.ListBox1.ListIndex = 0
'-----------------------

Amuse-toi bien !


Salutations!




"José Delfosse" a écrit dans le message de news:%23LE$
Sous Excel 2000, je crée un userForm dans lequel il y a un CommandButton et
un ListBox

Quand on appuie sur le bouton, la macro associée rempli la listbox avec
addItem()

Sauf que le bouton est relâché lorsque la macro est terminé,
et le contenu de la listbox n'est affiché que lorsque le bouton est relâché

(la macro prends un certain temps...)

Conséquence: le contenu de la listbox est affiché d'un seul coup à la fin de
la mcaro lorsque le bouton est relâché.

Comment faire pour que pendant la macro associé au bouton, on puisse voir
dans la listbox la progression des addItem() ?

Y a t-il une sorte de refresh() de la listbox que l'on pourrait appeller
dans la macro du bouton à chaque tour de boucle ?

JD
Avatar
José Delfosse
Ca marche !

"Denis Michon" a écrit dans le message de
news:AHFeb.90252$
Bonjour José,

Voici un petit exemple :

Les données qui vont renseignées le listbox se retrouvent dans la feuille
de calcul : A1:A100


Tu devrais être capable de voir défiler (pas lire) les entrées et à la
toute fin, l'entrée sélectionnée est la première.


'-----------------------
For a = 1 To 100
Me.ListBox1.AddItem Range("A" & a).Text
Me.ListBox1.ListIndex = a - 1
DoEvents
Next
Me.ListBox1.ListIndex = 0
'-----------------------

Amuse-toi bien !


Salutations!




"José Delfosse" a écrit dans le message de
news:%23LE$

Sous Excel 2000, je crée un userForm dans lequel il y a un CommandButton
et

un ListBox

Quand on appuie sur le bouton, la macro associée rempli la listbox avec
addItem()

Sauf que le bouton est relâché lorsque la macro est terminé,
et le contenu de la listbox n'est affiché que lorsque le bouton est
relâché


(la macro prends un certain temps...)

Conséquence: le contenu de la listbox est affiché d'un seul coup à la fin
de

la mcaro lorsque le bouton est relâché.

Comment faire pour que pendant la macro associé au bouton, on puisse voir
dans la listbox la progression des addItem() ?

Y a t-il une sorte de refresh() de la listbox que l'on pourrait appeller
dans la macro du bouton à chaque tour de boucle ?

JD