Salut les Florian,
Tu sélectionnes toi-même la plage à trier, résultats en 'Tri'.
A part ça, c'est le même principe que Florian...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
Dim tTab(), tTri(), vItem, rCel As Range, iFlag%
'
If Selection.Count > 1 Then
For Each rCel In Selection
If rCel <> "" Then
iFlag = iFlag + 1
ReDim Preserve tTab(iFlag)
tTab(iFlag - 1) = LCase(rCel.Value)
End If
Next
For x = 0 To iFlag - 1
For y = 1 To iFlag - 1
If tTab(y) < tTab(y - 1) Then
vItem = tTab(y - 1)
tTab(y - 1) = tTab(y)
tTab(y) = vItem
End If
Next
Next
With Worksheets("Tri")
For x = 0 To iFlag - 1
iRow = Asc(Left(tTab(x), 1)) - 95
.Cells(iRow, .Cells(iRow, Columns.Count).End(xlToLeft).Column + 1) = tTab(x)
Next
.Activate
End With
End If
'
End Sub
A+