Bonsoir,
Oui il est possible de le faire.
j'essayerai ou d'autres de vous le faire.
Ce n'est pas une formule ce sont des séries d'instructions que l'on peut appeler macro : voici le code embarqué dans la solution qui vous a été proposée : (les maitres feront beaucoup mieux sans nul doute)
Public Lignefin As Variant
Public Fleche As Shape
Sub trier()
Lignefin = Feuil1.Range("b65536").End(xlUp).Row
Feuil1.Range(Feuil1.Rows(3), Rows(Lignefin)).Sort Key1:=Range("C1"), Order1:=xlDescending
Call Effacer
For a = 3 To Lignefin
Source = a - 2
Test = Feuil1.Cells(a, 1)
Select Case Test
Case Is > Source
Set Fleche = Feuil1.Shapes.AddShape(msoShapeUpArrow, 47.25, 30#, 6#, 15.75)
Fleche.Select
Selection.Cut
Feuil1.Cells(a, 1).PasteSpecial
Case Is < Source
Set Fleche = Feuil1.Shapes.AddShape(msoShapeDownArrow, 47.25, 30, 6#, 15.75)
Fleche.Select
Selection.Cut
Feuil1.Cells(a, 1).PasteSpecial
Case Is = Source
Feuil1.Cells(a, 1).Select
Set Fleche = Feuil1.Shapes.AddShape(msoShapeRightArrow, 39.75, 48#, 15.75, 9#)
Fleche.Select
Selection.Cut
Feuil1.Cells(a, 1).PasteSpecial
End Select
Feuil1.Cells(a, 1) = a - 2
Feuil1.Cells(1, 1).Select
Next
End Sub
Public Function NombreJoueur()
NombreJoueur = Application.CountA(Feuil1.Range("a:a"))
End Function
Sub Effacer()
For Each Fleche In Feuil1.Shapes
If Fleche.Name = "Graphique 1" Then
Else
Fleche.Delete
End If
Next