Bonjour Inguyone, Groumphy
Tiens, Grouphy, je t'avais jamais vu sur XLD ?
inguyone: cette vieille procédure classique enlève les doublons de la colonne A:A et les trie en ordre crossant, qu'il y ait des vides ou pas
CODE
Option Explicit
Option Base 1
Sub epurer_trier()
Dim triage As Collection
Dim nbre As Long, cptr As Long, i As Long, j As Long, k As Long
Dim tmp
Dim alpha()
'ActiveSheet.Unprotect
Application.ScreenUpdating = False
nbre = Application.CountA(Range("A:A"))
Set triage = New Collection
'-------------ELIMINATIONS DES DOUBLONS ET VIDES
On Error Resume Next
cptr = 1
While cptr <= nbre
If Cells(cptr, 1) <> "" Then
triage.Add Cells(cptr, 1).Value, CStr(Cells(cptr, 1).Value)
End If
cptr = cptr + 1
Wend
On Error GoTo 0
'--------------------------TRI CROISSANT
nbre = triage.Count
ReDim alpha(nbre)
cptr = 1
While cptr <= nbre
alpha(cptr) = triage(cptr)
cptr = cptr + 1
Wend
For i = 1 To nbre
j = i
For k = j + 1 To nbre
If alpha(k) <= alpha(j) Then j = k
Next k
If i <> j Then
tmp = alpha(j)
alpha(j) = alpha(i)
alpha(i) = tmp
End If
Next i
Range("A:A").ClearContents
cptr = 1
While cptr <= nbre
Cells(cptr, 1) = alpha(cptr)
cptr = cptr + 1
Wend
End Sub
A toi d'adapter (tu n'as peut être pas de doublons)
A+
Michel