(vba) import dans ListBox

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4802081
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"
(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


j-pascal
Le #4802031
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"
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"
(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


Publicité
Poster une réponse
Anonyme