Filtrer la source d'un combo au fur et à mesure de la saisie

modafine Messages postés 8 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 17 décembre 2008 - 24 nov. 2008 à 15:12
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 - 24 nov. 2008 à 18:12
Bonjour.


J'ai une question relative aux combobox.


Je souhaite ajouter la fonctionnalité suivante:

Dès qu’on tape des caractères dans le champ éditable du combobox , la
liste est filtrée et ne laisse apparaître que les libellés commençant
par ces lettres.

Merci,

2 réponses

lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
24 nov. 2008 à 15:18
Bonjour,
tu veux un truc dans ce genre???
Private Sub Combo1_Change()
   Dim i As Long
   Dim sel As Long
   Dim trouv As Boolean

   For i = 0 To Combo1.ListCount - 1
      sel = Len(Combo1.Text)
      If (StrComp(Left$(Combo1.List(i), sel), Combo1.Text, vbTextCompare) = 0) Then
         Combo1.ListIndex = i
         Combo1.SelStart = sel
         Combo1.SelLength = Len(Combo1.Text) - sel
         Exit For
      End If
   Next i
End Sub

S.L.B.
<hr />
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
24 nov. 2008 à 18:12
Bonjour,

"et ne laisse apparaître que les libellés commençant par ces lettres"

m'interpelle !
Question : ta ComboBox est-elle liée à une base de données ou, au contraire, almimentée par des AddItem ?
Car les approches, dans un cas et l'autre, sont forts différentes ...
0
Rejoignez-nous