Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Application.Count(Target.EntireColumn) = 0 Then Exit Sub
Dim a As Range, t, i&, n As Byte, x
Cancel = True
Application.ScreenUpdating = False
With Target.EntireColumn
.Cells(1) = IIf(.Cells(1), "", True)
For Each a In .SpecialCells(xlCellTypeConstants, 1).Areas
a.Interior.ColorIndex = xlNone 'RAZ
If .Cells(1) Then
t = a.Resize(a.Count + 1) 'au moins 2 valeurs
For i = 1 To UBound(t) - 1
If t(i, 1) <= 0 Then t(i, 1) = Empty
Next i
n = Application.Min(Application.Max(Application.Count(t), 1), 5)
x = Application.Small(t, n)
For i = 1 To UBound(t) - 1
If t(i, 1) <> "" Then If t(i, 1) <= x Then a(i).Interior.ColorIndex = 44
Next i
End If
Next a
End With
End Sub