OVH Cloud OVH Cloud

refresh du controle ListBox

7 réponses
Avatar
Sabian
Salut =E0 tous...

J'aimerai savoir si il existe une m=E9thode qui permette de=20
faire un refresh d'une ListBox dans un UserForm sans=20
forc=E9ment faire un:

Unload UserForm1
UserForm1.Show

Merci a++

Sabian

7 réponses

Avatar
Vincent.
Salut !
Est-ce que :
ListBox.Clear
ne ferait pas l'affaire en lieu et place de tes deux
lignes (je ne suis pas sûr d'avoir compris ce que tu
souhaitais...)
A+

V.

-----Message d'origine-----
Salut à tous...

J'aimerai savoir si il existe une méthode qui permette de
faire un refresh d'une ListBox dans un UserForm sans
forcément faire un:

Unload UserForm1
UserForm1.Show

Merci a++

Sabian
.



Avatar
Sabian
en fait sur mon UserForm, j'ai une listBox qui me reprend
une liste sur la feuil1, et j'ai aussi un textbox.
Si j'insère une valeur dans le txtbox et que je valide, il
faut que je ferme mon UserForm et que je l'ouvre à nouveau
pour voir la valeur que j'ai précédemment inscrite.

Ce que voudrait c'est lorsque je valide, que je vois la
valeur directement sans faire ce fameux...
unload userform1
userform1.show...

je pensais à un truc du style
ListBox.refresh...

voila voila...
a++
-----Message d'origine-----
Salut !
Est-ce que :
ListBox.Clear
ne ferait pas l'affaire en lieu et place de tes deux
lignes (je ne suis pas sûr d'avoir compris ce que tu
souhaitais...)
A+

V.

-----Message d'origine-----
Salut à tous...

J'aimerai savoir si il existe une méthode qui permette
de


faire un refresh d'une ListBox dans un UserForm sans
forcément faire un:

Unload UserForm1
UserForm1.Show

Merci a++

Sabian
.

.





Avatar
Vincent.
Alors...
ListBox.AddItem TxtBox.Value 'à placer dans le module
TextBox1_Change() attaché à ton textbox

Mais ce serait trop simple.
En fait, quel est le code ataché à l'initialisation de la
userform ? Ca m'aiderait à comprendre le pb...

-----Message d'origine-----
en fait sur mon UserForm, j'ai une listBox qui me reprend
une liste sur la feuil1, et j'ai aussi un textbox.
Si j'insère une valeur dans le txtbox et que je valide,
il

faut que je ferme mon UserForm et que je l'ouvre à
nouveau

pour voir la valeur que j'ai précédemment inscrite.

Ce que voudrait c'est lorsque je valide, que je vois la
valeur directement sans faire ce fameux...
unload userform1
userform1.show...

je pensais à un truc du style
ListBox.refresh...

voila voila...
a++
-----Message d'origine-----
Salut !
Est-ce que :
ListBox.Clear
ne ferait pas l'affaire en lieu et place de tes deux
lignes (je ne suis pas sûr d'avoir compris ce que tu
souhaitais...)
A+

V.

-----Message d'origine-----
Salut à tous...

J'aimerai savoir si il existe une méthode qui permette
de


faire un refresh d'une ListBox dans un UserForm sans
forcément faire un:

Unload UserForm1
UserForm1.Show

Merci a++

Sabian
.

.


.






Avatar
Sabian
Alors à l'initialisation, j'ai le remplissage de la
ListBox avec le code suivant

Me.lstCategories.RowSource = ("dataFeuille!CategoriesList")

Si tu as besoin de plus d'info... je reste à dispo...

a++

-----Message d'origine-----
Alors...
ListBox.AddItem TxtBox.Value 'à placer dans le module
TextBox1_Change() attaché à ton textbox

Mais ce serait trop simple.
En fait, quel est le code ataché à l'initialisation de la
userform ? Ca m'aiderait à comprendre le pb...

-----Message d'origine-----
en fait sur mon UserForm, j'ai une listBox qui me
reprend


une liste sur la feuil1, et j'ai aussi un textbox.
Si j'insère une valeur dans le txtbox et que je valide,
il

faut que je ferme mon UserForm et que je l'ouvre à
nouveau

pour voir la valeur que j'ai précédemment inscrite.

Ce que voudrait c'est lorsque je valide, que je vois la
valeur directement sans faire ce fameux...
unload userform1
userform1.show...

je pensais à un truc du style
ListBox.refresh...

voila voila...
a++
-----Message d'origine-----
Salut !
Est-ce que :
ListBox.Clear
ne ferait pas l'affaire en lieu et place de tes deux
lignes (je ne suis pas sûr d'avoir compris ce que tu
souhaitais...)
A+

V.

-----Message d'origine-----
Salut à tous...

J'aimerai savoir si il existe une méthode qui permette
de


faire un refresh d'une ListBox dans un UserForm sans
forcément faire un:

Unload UserForm1
UserForm1.Show

Merci a++

Sabian
.

.


.


.







Avatar
Vincent.
Juste une info supplémentaire, la valeur du textbox doit-
elle être répercutée dans la liste CategoriesList ?
Si ce n'est pas le cas le code ListBox.AddItem
TxtBox.Value à placer dans le module TextBox1_Change()
attaché à ton textbox devrait convenir non ?
Il faut peut-être faire une boucle sur les éléments de
listbox pour ne pas répercuter de doublons, mais à part
ça, je ne vois pas trop de pb...
A+

V.

-----Message d'origine-----
Alors à l'initialisation, j'ai le remplissage de la
ListBox avec le code suivant

Me.lstCategories.RowSource = ("dataFeuille!
CategoriesList")


Si tu as besoin de plus d'info... je reste à dispo...

a++

-----Message d'origine-----
Alors...
ListBox.AddItem TxtBox.Value 'à placer dans le module
TextBox1_Change() attaché à ton textbox

Mais ce serait trop simple.
En fait, quel est le code ataché à l'initialisation de
la


userform ? Ca m'aiderait à comprendre le pb...

-----Message d'origine-----
en fait sur mon UserForm, j'ai une listBox qui me
reprend


une liste sur la feuil1, et j'ai aussi un textbox.
Si j'insère une valeur dans le txtbox et que je valide,
il

faut que je ferme mon UserForm et que je l'ouvre à
nouveau

pour voir la valeur que j'ai précédemment inscrite.

Ce que voudrait c'est lorsque je valide, que je vois la
valeur directement sans faire ce fameux...
unload userform1
userform1.show...

je pensais à un truc du style
ListBox.refresh...

voila voila...
a++
-----Message d'origine-----
Salut !
Est-ce que :
ListBox.Clear
ne ferait pas l'affaire en lieu et place de tes deux
lignes (je ne suis pas sûr d'avoir compris ce que tu
souhaitais...)
A+

V.

-----Message d'origine-----
Salut à tous...

J'aimerai savoir si il existe une méthode qui
permette





de
faire un refresh d'une ListBox dans un UserForm sans
forcément faire un:

Unload UserForm1
UserForm1.Show

Merci a++

Sabian
.

.


.


.


.








Avatar
Denis Michon
Bonjour Sabian,


Tu peux essayer ceci : Je suppose que tu as une procédure de validation activée par un bouton de commande. Dans la
petite procédure, si le textbox n'est pas vide, la procédure va ajouter une ligne à la plage nommée "CategoriesList" ,
inscrire la donnée du textbox1 dans la dernière ligne ajoutée et met à jour la liste de la listbox. Si tu désires par la
même occasion "Vider ton textbox" pour ne pas ajouter deux fois la même entrée ( par erreur) tu peux ajouter :
Me.textbox1 = ""

'----------------------------
Private Sub CommandButton1_Click()

Dim Rg As Range

If Me.TextBox1 <> "" Then
With Me.lstCategories
With Worksheets("dataFeuille")
Set Rg = .Range("CategoriesList")
Rg.Resize(Rg.Rows.Count + 1).Name = "CategoriesList"
Rg(Rg.Count) = Me.TextBox1
End With
.RowSource = ("dataFeuille!CategoriesList")
End With
End If
Set Rg = Nothing

End Sub
'----------------------------


Salutations!


"Sabian" a écrit dans le message de news:030501c3a909$2170b460$
Salut à tous...

J'aimerai savoir si il existe une méthode qui permette de
faire un refresh d'une ListBox dans un UserForm sans
forcément faire un:

Unload UserForm1
UserForm1.Show

Merci a++

Sabian
Avatar
sabian
Nickel merci pour les informations...

Sabian...

-----Message d'origine-----
Bonjour Sabian,


Tu peux essayer ceci : Je suppose que tu as une procédure
de validation activée par un bouton de commande. Dans la

petite procédure, si le textbox n'est pas vide, la
procédure va ajouter une ligne à la plage

nommée "CategoriesList" ,
inscrire la donnée du textbox1 dans la dernière ligne
ajoutée et met à jour la liste de la listbox. Si tu

désires par la
même occasion "Vider ton textbox" pour ne pas ajouter
deux fois la même entrée ( par erreur) tu peux ajouter :

Me.textbox1 = ""

'----------------------------
Private Sub CommandButton1_Click()

Dim Rg As Range

If Me.TextBox1 <> "" Then
With Me.lstCategories
With Worksheets("dataFeuille")
Set Rg = .Range("CategoriesList")
Rg.Resize(Rg.Rows.Count + 1).Name
= "CategoriesList"

Rg(Rg.Count) = Me.TextBox1
End With
.RowSource = ("dataFeuille!CategoriesList")
End With
End If
Set Rg = Nothing

End Sub
'----------------------------


Salutations!


"Sabian" a écrit dans le message de
news:030501c3a909$2170b460$

Salut à tous...

J'aimerai savoir si il existe une méthode qui permette de
faire un refresh d'une ListBox dans un UserForm sans
forcément faire un:

Unload UserForm1
UserForm1.Show

Merci a++

Sabian


.