Re,
Une variante (inspiré par la proposition de thev, ) qui prend en compte les lignes vides pour le tri....
Sub test()
Dim tablo(), tabloR(), k, i
Dim dl As Long
With Sheets("Feuil1")
dl = .Range("B" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
tablo = Range("B3:B" & dl)
k = 0
For i = 1 To UBound(tablo, 1)
ReDim Preserve tabloR(1 To 1, 1 To k + 1)
If tablo(i, 1) = "" Then
tabloR(1, k + 1) = "ZZZ"
Else
tabloR(1, k + 1) = Replace(Split(tablo(i, 1), ">")(1), "</text", "")
End If
k = k + 1
Next i
On Error Resume Next
.Range("J" & Rows.Count).End(xlUp).Offset(2, 0).Resize(UBound(tabloR, 2), 1) = Application.Transpose(tabloR)
Erase tabloR
.Range("B3:J" & dl).Sort key1:=Range("J3")
.Columns("J:J").Delete
End With
Application.ScreenUpdating = True
End Sub
Cordialement,