listbox et au moins une valeur

T

toubib

Guest
Bonjour à tous,

est ce que vous sauriez par hasard comment l'on peut faire pour forcer l'utilisateur d'un usf à selectionner au moins deux items de la listbox, c'est à dire que s'il n'en sélectionne qu'un, il ne puisse pas continuer la macro?

merci :)
 

porcinet82

XLDnaute Barbatruc
salut toubib,

Ca faisait longtemps et tu commencais presque a me manquer. :)

Bon alors une fois de plus, je vais tenter de t'apporter mon aide mais sans garantit de succes. Je commencerai donc par te dire qu'il me semble que le propre d'une listbox, c'est de forcer l'utilisateru a ne faire qu'un seul choix, tout comme la combo d'ailleurs.

Si tu veux que l'utilisateur fasse 2 choix, tu peux utiliser 2 listbox, avec verification du choix dans la seconde (que le choix ne soit pas identique a celui selectionné dans la premiere listbox).

Ou alors tu utilises les checbox, mais je suppose que tu ne veux pas, sinon tu l'aurais deja fait.

@+ ;)
 
T

toubib

Guest
salur porcinet :)

ca faisait presque longtzmps effectivement, mais bon j'ai toujours des petites modifs à faire en fait:
je ne souhaite pas utiliser deux listbox mais une seule et puis avec le multiselect tu peux justement faire plusieurs choix donc en fait:

j'ai dix items-choix dans ma listbox, si l'utilisateur n'en selectionne qu'un ca me fait planter mon autofill ensuite donc je voudrais qu'il soit obligé d'en selectionner au moins deux.

je vais marquer une grosse bétise mais ca illustrera bien mieux:
if listbox1.selected.count <2 then
msgbox' vous devez sélectionner au moins deux items'
exit sub
end if
 

Hervé

XLDnaute Barbatruc
Bonjour tout le monde

Euh...pas tout à fait d'accord porcinet, on peut sélectionner plus d'un item d'une listbox si celle ci est en multiselection (voir propriété).

exemple vite fait en pièce jointe.

salut
[file name=Classeur2_20051027161501.zip size=10480]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20051027161501.zip[/file]
 

Pièces jointes

  • Classeur2_20051027161501.zip
    10.2 KB · Affichages: 24
T

toubib

Guest
salut hervé,

merci beaucoup pour ton aide bon par contre si on en selectionne plus de deux ca marche plus :s
je regarde si je peux le modifier,

en tout cas merci bcp et bonne journée à vous deux et à tous les xldiens :)
 

Hervé

XLDnaute Barbatruc
re

Alors c'est encore plus simple :

Private Sub CommandButton1_Click()
Dim i As Byte
Dim cpt As Byte

For i = 0 To ListBox1.ListCount - 1
&nbsp; &nbsp;
If ListBox1.Selected(i) Then
&nbsp; &nbsp; &nbsp; &nbsp; cpt = cpt + 1
&nbsp; &nbsp;
End If
Next i

If cpt < 2 Then
&nbsp; &nbsp; MsgBox 'Pas bon, 2 items.'
Else
&nbsp; &nbsp; MsgBox 'OK'
End If
End Sub

salut
 
T

toubib

Guest
merci :)

je cherchais en parallèle et j'ai trouvé ça qui marchait:

Code:
For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) = True Then
        cpt = cpt + 1
        If cpt > 2 Then MsgBox 'Vous devez sélectionner au moins 2 éléments': Exit Sub
    End If
    Next i

If cpt = 2 Then
Else
    MsgBox 'Vous devez sélectionner au moins 2 éléments'
    Exit Sub
End If

merci en tout cas et bonne journée :)

Message édité par: toubib, à: 27/10/2005 16:35
 

porcinet82

XLDnaute Barbatruc
Re toubib, salut Hervé,

Et bien je me coucherai moins con ce soir, je ne savais pas que l'on pouvait faire ca. Je pense que ca me rendra nombre de service par la suite, donc merci a tout les deux pour se complément d'information, c'est toujours bon d'apprendre.

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 472
Messages
2 088 709
Membres
103 928
dernier inscrit
MIKETUAU