bonjour,
Merci pour ta réponse, donc je suis obligé de créer une autre colonne? et d'avoir le premier du classement en haut.
oui, cette rénumérotation du classement se base sur une liste déjà triée.
La fonction RANG te donne le résultat communément admis pour un classement, ce qui n'est pas le cas de ta demande. Pour cela, voici une solution via une fonction personnalisée.
Function RANKSPE(valeur, plage As Range, Optional ordre = 0)
ar = plage.Value
ReDim art(1 To UBound(ar, 1) * UBound(ar, 2))
ctr = 0
For i = 1 To UBound(ar, 2)
For j = 1 To UBound(ar, 1)
ctr = ctr + 1
art(ctr) = ar(j, i)
Next j
Next i
For i = 1 To ctr - 1
For j = i To ctr
If (ordre = 0 And art(i) < art(j)) Or (ordre <> 0 And art(i) > art(j)) Then
a = art(i): art(i) = art(j): art(j) = a
End If
Next j
Next i
ctr = 1
For i = 1 To UBound(art)
If i > 1 Then
If (ordre = 0 And art(i) < art(i - 1)) Or (ordre <> 0 And art(i) > (art(i - 1))) Then ctr = ctr + 1
End If
If (ordre = 0 And art(i) <= valeur) Or (ordre <> 0 And art(i) >= valeur) Then Exit For
Next i
RANKSPE = ctr
End Function