Sub Traitement()
Dim Plage As Range
Dim TabMem As Variant, TabTemp As Variant
Dim L As Long
'On définit la plage de traitement
Set Plage = Range('A3:B9')
With Plage
'On mémorise les données d'origine
TabMem = .Value
'On trie les données
.Sort Key1:=Plage.Range('B1'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'On récupère les données après le tri
TabTemp = .Value
'On rétablit les données d'origine
.Value = TabMem
'On met à jour les résultats souhaités
For L = 1 To UBound(TabTemp, 1)
.Cells(L, 2).Offset(0, 1).Value = TabTemp(L, 2)
.Cells(L, 1).Offset(0, 3).Value = TabTemp(L, 1)
Next L
End With
End Sub