Sub ValN()
   
     Dim WSh As Worksheet, Dc As Object, Rg As Range, CellRang As Range
   
     Set WSh = Feuil1
     Set CellRang = WSh.[AB1]
     Set Rg = WSh.[A1].CurrentRegion
     Set Rg = Rg.Offset(1, 1).Resize(Rg.Rows.Count - 1, Rg.Columns.Count - 1)
   
     tb = Rg
     Set Dc = CreateObject("Scripting.Dictionary")
     For i = 1 To UBound(tb, 1): For j = 1 To UBound(tb, 2): Dc(tb(i, j)) = CDbl("0" & tb(i, j)): Next j: Next i
     tb = Dc.items
     Call tri(tb, 0, UBound(tb))
     CellRang.Offset(0, 2).Value = "(>=" & tb(CellRang) & ")"
   
     Rg.FormatConditions.Delete
     With Rg.FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:="=" & tb(CellRang))
          .Font.Bold = True
          .Interior.Color = 13408767
     End With
End Sub
Sub tri(a, gauc, droi)          ' Quick sort de J. Boisgontier adapté
     ref = a((gauc + droi) \ 2)
     g = gauc: d = droi
     Do
          Do While a(g) > ref: g = g + 1: Loop
          Do While ref > a(d): d = d - 1: Loop
          If g <= d Then
               Temp = a(g): a(g) = a(d): a(d) = Temp
          g = g + 1: d = d - 1
          End If
     Loop While g <= d
     If g < droi Then Call tri(a, g, droi)
     If gauc < d Then Call tri(a, gauc, d)
End Sub