liste automatique sans doublon par ordre alphabétique

vero49

XLDnaute Nouveau
Bonjour,

J'ai une macro qui me permet d'avoir un filtre automatique sans doublon :

Private Sub Worksheet_Activate()
Dim coll As Collection
Set coll = New Collection
'creation d'une liste sans doublons des codes
For n = 6 To Sheets("BLE").Range("B6").End(xlDown).Row
On Error Resume Next
coll.Add Sheets("BLE").Range("B" & n), CStr(Sheets("BLE").Range("B" & n))
If Err.Number = 0 Then Liste = Liste & Sheets("BLE").Range("B" & n) & ","
On Error GoTo 0
Next n
Liste = Left(Liste, Len(Liste) - 1)
'creation de la liste de validation dans la cellule E2
With Range("H3").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Liste
End With
End Sub[/COLOR]


Comment je pourrais faire pour qu'elle apparaisse par ordre alphabétique ?

Merci d'avance pour votre aide.

Véro
 

RENAUDER

Nous a quitté
Repose en paix
Re : liste automatique sans doublon par ordre alphabétique

Bonjour,

Quand j'ai ton cas j'utilise ce code.
Je pense que tu peux l'adapter.
Ce qui me surprend dans ton code, c'est que je ne vois quand
tu utilises ta collection coll ?
Code:
On Error Resume Next
For Each Cell In Selection
    coll.Add Cell.Value, CStr(Cell.Value)
    '       Note: the 2nd argument (key) for the Add method must be a string
Next Cell
On Error GoTo 0
For i = 1 To coll.Count - 1
    For j = i + 1 To coll.Count
        If coll(i) > coll(j) Then
            Swap1 = coll(i)
            Swap2 = coll(j)
            coll.Add Swap1, before:=j
            coll.Add Swap2, before:=i
            coll.Remove i + 1
            coll.Remove j + 1
        End If
    Next j
Next i
 

nolich

XLDnaute Occasionnel
Re : liste automatique sans doublon par ordre alphabétique

Bonsoir Véro et RENAUDER, bonsoir à toutes et à tous :)

Ce qui me surprend dans ton code, c'est que je ne vois quand tu utilises ta collection coll ?

RENAUDER : J'ai l'impression que Véro utilise la propriété des objets Collection qui refuse les doublons :)

Véro : Si tu as une base de données de taille faible, voire moyenne, le code de RENAUDER te conviendra. Par contre si ta base de données comporte un grand nombre de données, il existe un tri plus rapide que le tri à bulles simple qu'utilise RENAUDER.

To be continued... :)

@+
 
Dernière édition:

RENAUDER

Nous a quitté
Repose en paix
Re : liste automatique sans doublon par ordre alphabétique

Bonjour,

Je te joins un exemple qui peut t'aider.
 

Pièces jointes

  • ListeValidation.xls
    27.5 KB · Affichages: 182
  • ListeValidation.xls
    27.5 KB · Affichages: 206
  • ListeValidation.xls
    27.5 KB · Affichages: 195

vero49

XLDnaute Nouveau
Re : liste automatique sans doublon par ordre alphabétique

Bonjour et merci pour vos réponses,
mais en fait on m'a fait une macro (jointe en haut) qui me permet de faire mon filtre automatique sans doublon. Mais comme je n'y connais rien en macro, je cherchais une réponse pour adapter cette macro pour que ma liste de mon filtre automatique soit par ordre alphabétique.

Merci d'avance pour votre aide.

Véro
 

Discussions similaires

Statistiques des forums

Discussions
312 613
Messages
2 090 233
Membres
104 458
dernier inscrit
Adeline43