Pb listbox

Résolu
manud31 Messages postés 81 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 16 mai 2006 - 15 déc. 2005 à 12:25
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 15 déc. 2005 à 21:57
Bonjour,

J'ai une listbox remplie par des valeurs sélectionnées par l'utilisateur.
Je voudrais tester cette listbox, pour que l'utilisateur ne sélectionne pas 2 fois la même valeur. si la valeur est présente 2 fois, alors il faut en effacée une.

merci d'avance

6 réponses

violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 déc. 2005 à 13:42
Violent Ken

Salut. Tout dépend le nombre d'éléments de ta listbox. Si list1.listcount n'est pas 3000 (par exemple),à chaque fois que l'utilisateur rentre un chiffre, tu regarde si il existe déjà.
exemple:

Private Sub Command1_Click()
'ajoute la valeur d'une textbox si possible
Ajouter Text2.Text, List1
End Sub


Public Function Ajouter(Entree As String, Lis As ListBox) As Boolean
'n'ajoute que si n'existe pas encore
Dim X As Integer
Ajouter = False
For X = 0 To Lis.ListCount
If Lis.List(X) = Entree Then Exit Function
Next
'ajout de la valeur
Lis.AddItem Entree
Ajouter = True
End Function

@+
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 déc. 2005 à 13:12
comment remplis tu ta listbox?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 déc. 2005 à 14:42
tu peux faire la recherche dans la listbox via le message LB_FINDSTRINGEXACT

If SendMessage(List1.hwnd, LB_FINDSTRINGEXACT, -1, ByVal Entree) = -1 Then
List1.AddItem Entree
End If

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
15 déc. 2005 à 14:44
Violent Ken

Dammit, sacrées API ....
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
manud31 Messages postés 81 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 16 mai 2006
15 déc. 2005 à 19:28
Merci, violent_ken ça marche.


Renfield, j'ai essayé ton code, mais certaine fonction ne sont pas reconnues, c'est peut être parce que je travaille sur un éditeur visual basic?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 déc. 2005 à 21:57
il faut en fait déclarer les API....


Private Const LB_FINDSTRINGEXACT As Long = &H1A2



Private Declare Function SendMessage Lib "user32.dll" Alias
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As
Long, ByRef lParam As Any) As Long


Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
Rejoignez-nous