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

(vba) import dans ListBox

2 réponses
Avatar
j-pascal
(C'est ma première ListBox ...)

Bonjour,

Dans ma ListBox, j'ai ce qui suit :

Private Sub userform_Initialize()
With ListBox1
.AddItem "2007"
.AddItem "2008"
.AddItem "2009"
.AddItem "2010"
End With
ListBox1.ListIndex = 0
End Sub

La valeur sélectionnée est inscrite dans A1

Si A1 est déjà = à "2007" (ou autre), j'aimerais que l'année qui figure dans
la ListBox soit grisée ou remplacée par un "-"

J'imagine que le recours à .AddItem "----" ne le permet pas !

J'ai essayé d'utiliser : Me.ListBox1.RowSource = "Feuil1!Liste"

... en mettant mes 2007, 2008, ----, dans une plage nommée, mais je
n'arrive
pas à récupérer les valeurs dans ma liste box !
Si ça marche, j'effectuerai mon test conditionnel directement sur la
feuille ...

Private Sub OK_Click()
MsgBox "Vous avez sélectionné l'année " & ListBox1.Value
Range("A1") = ListBox1.Value
Unload Menu2
End Sub

Merci d'avance pour vos lumières ;-)

--
Cordialement @+
JP

2 réponses

Avatar
JB
Pour supprimer l'item sélectionné:

Private Sub UserForm_Initialize()
Me.ListBox1.AddItem 2007
Me.ListBox1.AddItem 2008
Me.ListBox1.AddItem 2009
End Sub

Private Sub CommandButton1_Click()
Me.ListBox1.RemoveItem Me.ListBox1.ListIndex
End Sub

http://boisgontierjacques.free.fr/pages_site/formulaireListesTransfert.htm

JB

On 20 août, 23:32, "j-pascal" wrote:
(C'est ma première ListBox ...)

Bonjour,

Dans ma ListBox, j'ai ce qui suit :

Private Sub userform_Initialize()
With ListBox1
.AddItem "2007"
.AddItem "2008"
.AddItem "2009"
.AddItem "2010"
End With
ListBox1.ListIndex = 0
End Sub

La valeur sélectionnée est inscrite dans A1

Si A1 est déjà = à "2007" (ou autre), j'aimerais que l'année qu i figure dans
la ListBox soit grisée ou remplacée par un "-"

J'imagine que le recours à .AddItem "----" ne le permet pas !

J'ai essayé d'utiliser : Me.ListBox1.RowSource = "Feuil1!Liste"

... en mettant mes 2007, 2008, ----, dans une plage nommée, mais je
n'arrive
pas à récupérer les valeurs dans ma liste box !
Si ça marche, j'effectuerai mon test conditionnel directement sur la
feuille ...

Private Sub OK_Click()
MsgBox "Vous avez sélectionné l'année " & ListBox1.Value
Range("A1") = ListBox1.Value
Unload Menu2
End Sub

Merci d'avance pour vos lumières ;-)

--
Cordialement @+
JP


Avatar
j-pascal
Bonsoir,

Je viens de faire l'essai, mais je me suis apparemment mal exprimé ;-(
Je ne veux pas supprimer l'item ! Je veux que l'item correspondant à la
valeur de A1 ne soit pas "cliquable" ... ou qu'il apparaisse grisé ...

Si je peux importer dans la ListBox, les valeurs inscrites dans une plage de
cellules situées (ie) de A2 à A5 c'est ok ; je ferai le test conditionnel
pour que l'item apparaisse différemment s'il est égal à A1.
... à moins qu'on puisse "personnaliser" le ".AddItem "2007", etc... en
fonction d'une condition !

@+ ?

JP

"JB" a écrit dans le message de news:

Pour supprimer l'item sélectionné:

Private Sub UserForm_Initialize()
Me.ListBox1.AddItem 2007
Me.ListBox1.AddItem 2008
Me.ListBox1.AddItem 2009
End Sub

Private Sub CommandButton1_Click()
Me.ListBox1.RemoveItem Me.ListBox1.ListIndex
End Sub

http://boisgontierjacques.free.fr/pages_site/formulaireListesTransfert.htm

JB

On 20 août, 23:32, "j-pascal" wrote:
(C'est ma première ListBox ...)

Bonjour,

Dans ma ListBox, j'ai ce qui suit :

Private Sub userform_Initialize()
With ListBox1
.AddItem "2007"
.AddItem "2008"
.AddItem "2009"
.AddItem "2010"
End With
ListBox1.ListIndex = 0
End Sub

La valeur sélectionnée est inscrite dans A1

Si A1 est déjà = à "2007" (ou autre), j'aimerais que l'année qui figure
dans
la ListBox soit grisée ou remplacée par un "-"

J'imagine que le recours à .AddItem "----" ne le permet pas !

J'ai essayé d'utiliser : Me.ListBox1.RowSource = "Feuil1!Liste"

... en mettant mes 2007, 2008, ----, dans une plage nommée, mais je
n'arrive
pas à récupérer les valeurs dans ma liste box !
Si ça marche, j'effectuerai mon test conditionnel directement sur la
feuille ...

Private Sub OK_Click()
MsgBox "Vous avez sélectionné l'année " & ListBox1.Value
Range("A1") = ListBox1.Value
Unload Menu2
End Sub

Merci d'avance pour vos lumières ;-)

--
Cordialement @+
JP