Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liste deroulante sans doublons

3 réponses
Avatar
Emile63
Bonjour =E0 tous,
Je cherche a mettre une liste d=E9roulante qui se r=E9f=E8re =E0 une colonn=
e avec plein de donn=E9s, mais en supprimant les doublons.
Je vous remercie de votre aide,

3 réponses

Avatar
MichD
Bonjour,

Un fichier exemple : http://cjoint.com/?BKppMzZdihQ utilisant ADO

Tu pourrais aussi utiliser un bout de code pour effectuer un filtre avancé sans doublon
que tu places dans une feuille masquée. Tu affectes la plage de résultat du filtre
à la liste déroulante.



MichD
--------------------------------------------------------------
Avatar
MichD
Voici le fichier d'hier + une autre méthode utilisant un filtre avancé.
http://cjoint.com/?BKqnJv3wbsX

S.V.P. Si tu as des commentaires, tu dois les faire directement sur le forum et
non dans ma boîte de message. Ceci afin de pouvoir partager avec l'ensemble
des intervenants les échanges.

C'est un hasard que j'ai vu ton message dans la boîte de messages indésirables!!!


MichD
--------------------------------------------------------------
Avatar
MichD
En supplément, tu pourrais utiliser l'événement suivant pour charger le combobox

'---------------------------------
Private Sub ComboBox1_DropButtonClick()
Remplir_Combobox_Avec_Filtre_Avancé
End Sub
'---------------------------------

La macro a été légèrement modifiée pour exclure la ligne de titre
et une ligne vide le cas échéant.
'--------------------------------------------
Sub Remplir_Combobox_Avec_Filtre_Avancé()

Dim F As Worksheet
Set F = Worksheets("Feuil1") 'Feuille où sont tes données

With F
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
.AdvancedFilter xlFilterCopy, , F.Range("G1"), True
End With
With .Range("G2:G" & .Range("G65536").End(xlUp).Row)
.Sort Key1:=.Item(2, 1), Order1:=xlAscending, Header:=xlYes
End With
With .Range("G2:G" & .Range("G65536").End(xlUp).Row)
F.Shapes("ComboBox1").OLEFormat.Object.Object.List = .Value
'Au besoin, tu peux masquer la colonne
.EntireColumn.Hidden = True
End With
End With
End Sub
'--------------------------------------------

MichD
--------------------------------------------------------------