Filtrer les données ComboBox

Bonjour à tous,

Je sèche depuis un petit temps sur comment filtrer les données d'un ComboBox qui est alimenter par un tableau.

Je m'explique :

  • J'ai un tableau reprenant une liste de clients, dans ce tableau j'ai plusieurs colonnes (Nom, Prénom, Adresse, ..., Actif)
  • La colonne Actif contient Oui/Non
  • J'ai un ComboBox ActiveX qui m'affiche le nom de mes clients... jusque-la tout va bien.

Mon problème est que je voudrais filtrer le contenu de mon ComboBox en fonction de ma liste des clients dont la colonne actif = Oui.

Pour le moment j'alimente le combobox avec l’entièreté du tableau :

Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim L
    L = Sheets("Feuil1").Range("tClients").Address(0, 0)
    Me.ComboBox1.ListFillRange = "Feuil1!" & L
End Sub

Un exemple vaut mieux qu'un long discours dans le fichier joint je ne veux afficher que les clients A, B, E, F

Merci,

Yamino

19classeur1.xlsm (20.35 Ko)

Bonjour,

Par exemple :

Remplace ta procédure "Private Sub ComboBox1_DblClick" par celle-ci :

Private Sub ComboBox1_DropButtonClick()
Dim Cel As Range
Dim Liste
For Each Cel In Range("tClients[Actif]")
    If Cel = "Oui" Then
        Liste = Liste & ";" & Cel.Offset(, -3)
    End If
Next Cel
Me.ComboBox1.List = Split(Right(Liste, Len(Liste) - 1), ";")
End Sub

et supprime la propriété ListFillRange du combobox

Peut-être?

Bonjour

Bonjour à tous

Une variante.

Bye !

37classeur1-v1.xlsm (27.17 Ko)

Un tout grand merci pour vos réponses.

La première me retourne une erreur (je dois avouer que je n'ai pas encore eu le temps de creuser le pourquoi)

Ça semble tellement simple quand on a la réponse

Rechercher des sujets similaires à "filtrer donnees combobox"