Liste de validation sans doublons et triée

Le
Apitos
Bonsoir à tous,

Comment peut-on avoir une liste de validation sans doublons et triée ?

Les données sont dans la feuille "BD" et la liste se trouve dans la feuil=
le "TB".

Merci d'avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #24707982
Bonjour,

-Sélection d'une cellule en feuille tb (exemple A1)
-Menu données==>Filtrer==>Filtre élaboré
-Cocher Copier vers un autre emplacement
-Cocher Extraction sans doublon
-Plage ==> sélectionner la plage de donnée( exemple Feuille BD A2:A63)
-Copier dans ==> $A$1

Eventuellement nommer cette liste(exemple "MaListe") pour pouvoir sans servir dans un combobox avec
RowSource==>MaListe

en vba cela devrait ressembler à ceci
La plage de donnée se trouve en A2:Axx de la feuille BD (y compris le titre en A2) dans cet exemple
'-------------------
Sub jj()
Dim derlg As Long
With Sheets("tb")
.Columns("a:a").Clear
derlg = Sheets("BD").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("BD").Range("A2:A" & derlg).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("a1"),
Unique:=True
derlg = .Cells(Rows.Count, "A").End(xlUp).Row
.Range("A2:A" & derlg).Sort Key1:=.Range("a2"), Order1:=xlAscending
.Range("A2:A" & derlg).Name = "Maliste"
End With
End Sub
'---------------
--
Salutations
JJ


"Apitos"
Bonsoir à tous,

Comment peut-on avoir une liste de validation sans doublons et triée ?

Les données sont dans la feuille "BD" et la liste se trouve dans la feuille "TB".

Merci d'avance.
DanielCo
Le #24707972
Bonjour,
Adapte les plages à tes données :
Sub test()
Dim Plage As Range
ActiveWorkbook.Names("Plage").Delete
With Sheets("BD")
.[C:C].ClearContents
Set Plage = .Range(.[A1], .Cells(.Rows.Count, 1).End(xlUp))
Plage.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.[C1],
Unique:=True
Set Plage = .Range(.[C2], .Cells(.Rows.Count, 3).End(xlUp))
With .Sort
.SortFields.Clear
.SortFields.Add Key:=Plage, SortOn:=xlSortOnValues,
Order:=xlAscending, _
DataOption:=xlSortNormal
.SetRange Plage
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.Apply
End With
ActiveWorkbook.Names.Add "Plage", RefersTo:="½!" & Plage.Address
End With
With Sheets("TB")
With .[C1].Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,
Operator:= _
xlBetween, Formula1:="=Plage"
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
End With
End Sub

Daniel


Bonsoir à tous,

Comment peut-on avoir une liste de validation sans doublons et triée ?

Les données sont dans la feuille "BD" et la liste se trouve dans la feuille
"TB".

Merci d'avance.
Apitos
Le #24709762
Bonsoir Jacky, DanielCo,

Merci pour vos réponses :)

Est-ce pratique de remplir la liste depuis l'événement Worksheets_Activ ate au lieur d'un bouton ?

Merci.
DanielCo
Le #24710292
Bonjour
Oui. Si la liste n'évolue pas pendant l'ouverture du classeur, tu peux
même la mettre dans WorkBook_Open.
Daniel


Bonsoir Jacky, DanielCo,

Merci pour vos réponses :)

Est-ce pratique de remplir la liste depuis l'événement Worksheets_Activate au
lieur d'un bouton ?

Merci.
Publicité
Poster une réponse
Anonyme