Comment trier des données par ordre inverse dans Excel ?
Dans Excel, la formule classique =RANG(cellule; plage) classe vos données de manière à ce que la valeur la plus élevée obtienne le rang 1, tandis que la valeur la plus faible reçoive le rang le plus bas. Toutefois, il arrive que vous souhaitiez inverser cette logique : attribuer le meilleur rang à la valeur la plus petite et le dernier rang à la valeur la plus grande, comme illustré dans la capture d’écran ci-dessous. Cette approche s’avère particulièrement utile lorsque vous analysez des données où les valeurs les plus basses reflètent une meilleure performance — par exemple, les temps de course, les coûts ou le nombre d’erreurs.
Classer des données par ordre inverse|Code VBA : Attribuer automatiquement des rangs inversés
Classer des données par ordre inverse
Pour effectuer un classement inverse dans Excel, il vous suffit de légèrement modifier la formule standard RANG en ajoutant un argument supplémentaire. Cette astuce vous permet de classer facilement vos données du plus petit au plus grand, plutôt que dans l’ordre par défaut.
Sélectionnez une cellule vide où vous souhaitez afficher le résultat du classement inverse. En supposant que votre plage de données se trouve dans les cellules B2 à B10, saisissez la formule suivante dans la première cellule adjacente à vos données (par exemple, en C2) :
=RANK(B2,$B$2:$B$10,1) Après avoir saisi la formule, appuyez sur Entrée. Pour l’appliquer aux autres cellules de votre colonne, utilisez la poignée de recopie : placez le curseur sur le coin inférieur droit de la cellule contenant la formule (C2), puis, dès que le pointeur se transforme en croix, faites-le glisser vers le bas jusqu’à remplir les cellules souhaitées (jusqu’en C10 dans cet exemple).
Si votre plage de données est différente, ajustez simplement les références de cellules dans la formule pour qu’elles correspondent à vos données réelles. N’oubliez pas que, en présence de valeurs en double, la fonction RANG leur attribuera le même rang, et les rangs suivants seront ignorés (par exemple, si deux éléments sont à égalité pour la deuxième place, le rang suivant sera le quatrième).
Le classement inverse s’avère particulièrement utile pour mettre en évidence les valeurs les plus basses ou les temps les plus rapides, et il fonctionne parfaitement sur des jeux de données où les ex æquo sont acceptables, voire attendus.
Code VBA : Attribuer automatiquement des rangs inversés
Pour les grands jeux de données ou les scénarios où vos données sont fréquemment mises à jour et nécessitent une solution plus automatisée, vous pouvez utiliser un code VBA pour attribuer des rangs inversés rapidement et efficacement. Cette méthode convient particulièrement aux utilisateurs à l’aise avec une initiation à la programmation et souhaitant éliminer les étapes manuelles répétitives.
1. Ouvrez l’éditeur VBA en cliquant sur Outils de développement > Visual Basic. Dans la fenêtre Visual Basic pour Applications, cliquez sur Insertion > Module, puis collez le code suivant dans le volet Module :
Sub AssignReverseRank()
Dim dataRange As Range
Dim outputRange As Range
Dim i As Long
Dim j As Long
Dim temp As Variant
Dim arr As Variant
Dim sortedArr As Variant
Dim rankArr() As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set dataRange = Application.InputBox("Select the data range to rank (single column):", xTitleId, "", Type:=8)
If dataRange Is Nothing Then Exit Sub
Set outputRange = Application.InputBox("Select the first cell for output ranks:", xTitleId, "", Type:=8)
If outputRange Is Nothing Then Exit Sub
arr = dataRange.Value
ReDim rankArr(1 To UBound(arr, 1), 1 To 1)
sortedArr = arr
' Sort the array in ascending order
For i = 1 To UBound(sortedArr, 1) - 1
For j = i + 1 To UBound(sortedArr, 1)
If sortedArr(i, 1) > sortedArr(j, 1) Then
temp = sortedArr(i, 1)
sortedArr(i, 1) = sortedArr(j, 1)
sortedArr(j, 1) = temp
End If
Next j
Next i
' Assign reverse ranks
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(sortedArr, 1)
If arr(i, 1) = sortedArr(j, 1) Then
rankArr(i, 1) = j
Exit For
End If
Next j
Next i
outputRange.Resize(UBound(rankArr, 1), 1).Value = rankArr
End Sub 2. Pour exécuter la macro, cliquez sur le bouton
Exécuter ou appuyez sur F5. Vous serez invité à sélectionner votre plage de données (choisissez une seule colonne que vous souhaitez classer par ordre inverse), puis à désigner la première cellule où vous souhaitez que les résultats du classement soient inscrits. Cliquez sur OK après chaque sélection.
Cette macro trie vos données par ordre croissant et leur attribue des rangs inversés en conséquence, en plaçant la valeur la plus petite au rang 1. Elle est particulièrement utile pour classer des milliers d’entrées d’un seul coup ou pour automatiser le classement dans des rapports qui se mettent régulièrement à jour.
Lorsque vous utilisez cette macro, assurez-vous que vos données sont contiguës et ne contiennent que des valeurs numériques. Toute cellule non numérique ou vide pourrait entraîner un résultat incorrect ; il est donc préférable de nettoyer vos données au préalable. Il est également conseillé d’enregistrer votre classeur avant d’exécuter des macros afin d’éviter toute modification involontaire.
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels