An event is something that is happening and when it is happening, Excel can
perform an action. For example, clicking on a cell or a button is an event.
Changing the value of a cell is another event, and this is the one we will
use in your case.
Copy this code to the sheet containing the range D2

6.
Private Sub Worksheet_Change(ByVal Target As Range)
' If we modify a cell outside the range D2

6, we exit this routine
without any action
If (Target.Row <= 1 Or Target.Row >= 7) And (Target.Column <= 3 Or
Target.Column >= 5) Then
Exit Sub
End If
On Error GoTo ErrHandler
' Let's suspend the listening to change event, or else we will be in an
endless
' loop as the sort command will change cell values and will trigger this
routine!
Application.EnableEvents = False
' Now, let's sort the range in descending order
Range("D2

6").Sort Key1:=Range("D1"), Order1:=xlDescending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
' We allow again the listening to the change event
Application.EnableEvents = True
Exit Sub
ErrHandler:
Application.EnableEvents = True
End Sub
Stephane