Liste déroulante dans userform

G

GT

Guest
Bonjour,
J'ai crée un userform avec une listbox.
Je souhaites obliger l'utilisateur à sélectionner une des propositions dans cette listbox. Chaque proposition est un champ de texte.
Comment puis-je procéder ?
D'avance merci pour votre aide
 
S

sylsyl

Guest
Salut GT,

Si l'utilisateur doit cliquer sur un bouton, insere un test dans ce bouton.

Dim IzSelect as Boolean

for i = 0 to Listbox1.count - 1
if Selected(i)=true then
IzSelect=True
exit for
end if
next i

if IzSelect <> True then '/!\ IzSelect peut etre aussi Null ou False
msgbox "Selectionner une proposition SVP"
exit sub
end if

Dis moi si ca marche, A++, Sylsyl.
 
G

GT

Guest
Merci de cette réponse.
Cependant juste une petite précision. Le choix doit se faire parmi une liste de nom. Si aucun nom n'est sélectionné, la msgbox averti de devoir obligatoirement en selectionner un.
Je n'arrive pas à adapter ton code à mon application (mais suis p'têt pas très doué non plus...). J'ai même essayé avec les "option explicit" sans plus de réussite.

Si vous avez une idée ...

GT
 
S

sylsyl

Guest
Salut GT,

mis a part une erreur d'ecriture de ma part (corrigee en majuscule), il me semble que ca doit marcher.

Dim IzSelect as Boolean

for i = 0 to Listbox1.count - 1
if LISTBOX1.Selected(i)=true then
IzSelect=True
exit for
end if
next i

if IzSelect <> True then '/!\ IzSelect peut etre aussi Null ou False
msgbox "Selectionner une proposition SVP"
exit sub
end if

La pemiere partie parcours la listbox1 et met IzSelect a "True" si au moins un nom est selectionne.

Ensuite la deuxieme partie test si IzSelect est bon ou pas.
Si aucun nom n'a ete selectionne, IzSelect renvoie la valeur Null (puisqu'il n'a pas ete initialise), dans ce cas "IzSelect <> True " est vrai et le message "Selectionner une proposition SVP" est renvoye a l'utilisateur.

Tiens moi au courant,

A++, Sylsyl.
 
S

sylsyl

Guest
Salut GT,

es-tu sur que c'est la fonction COUNT qui n'est pas reconnu ?
peut-etre que VBA ne rouve pas ta ListBox1.
Ca arrive quand le code n'est pas ecrit directement dans la userform.

Essai UserForm1.Listbox1 au lieu d'ecrire simplement ListBox1.

A++, Sylsyl.
 
S

sylsyl

Guest
Voila, je viens d'avoir le pb est l'erreur est vraiment petite:

Utilise ListCount a la place de Count pour une listbox.

Il semblera que Count marche avec une combobox mais pas une list.

pour savoir si une methode est reconnue tape ceci:
Listbox1.C puis clique droit et "lister les proprietes/methode". Si Count n'est pas dedans, il ne sera pas reconnu...

Rappel: pour extraire la ieme ligne d'une listbox utilise Listbox1.List(i-1)

A++, Sylsyl.
 

Discussions similaires

Réponses
2
Affichages
312
Réponses
21
Affichages
1 K
Réponses
18
Affichages
752

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry