Sub test() 'horizontal
Dim rng As Range, tableau
Set rng = Range("A1:A11")
tableau = NoDoubleInOrder(rng)
[c6].Resize(, UBound(tableau) + 1) = tableau
End Sub
'
Sub test2() 'vertical
Dim rng As Range, tableau
Set rng = Range("A1:A11")
tableau = NoDoubleInOrder(rng)
[c6].Resize(UBound(tableau) + 1, 1) = Application.Transpose(tableau)
End Sub '
'
'
Function NoDoubleInOrder(rng)
Dim original, MyArray(), I&
original = Application.Transpose(rng.Value)
ReDim MyArray(1 To Application.Max(rng))
For I = 1 To UBound(original)
If original(I) <> "" Then MyArray(Val(original(I))) = original(I)
Next
NoDoubleInOrder = Split(Application.Trim(Join(MyArray)), " ")
End Function