Option Explicit
Dim Te(1 To 500) As String, Le As Long ' Variables globales module
Sub Ajouter(ByVal Z As String)
Le = Le + 1: Te(Le) = Z
End Sub
Function RésultatCellClassé() As String
Dim Ts() As String, Ls&, Texte As String ' Variables locales (volatiles)
ReDim Ts(0 To Le - 1): Ls = -1
With New TableIndex
.Init 0, Le: While .Actif: .BInfA = Te(.B) < Te(.A): Wend
Texte = ""
.Parcourir: While .Actif: Le = .Suivant
If Te(Le) <> Texte Then Texte = Te(Le): Ls = Ls + 1: Ts(Ls) = Texte
Wend: End With
ReDim Preserve Ts(0 To Ls)
RésultatCellClassé = Join(Ts, vbLf)
Le = 0
End Function