Comment classer les données dans l'ordre inverse dans Excel ?
Dans Excel, en utilisant la méthode habituelle =RANG(cellule, plage) la formule attribuera un classement à vos données de telle sorte que la plus grande valeur recevra le rang 1, tandis que la plus petite valeur se verra attribuer le rang le plus bas. Cependant, il existe des situations où vous devrez peut-être inverser cette logique, donnant ainsi à la plus petite valeur le rang le plus élevé et à la plus grande valeur le dernier rang, comme illustré dans la capture d'écran ci-dessous. Cela peut être particulièrement utile lorsque vous analysez des données où des valeurs plus faibles représentent de meilleures performances, telles que les temps de course, les coûts ou les comptes d'erreurs.
Classer les données dans l'ordre inverse | Code VBA : Attribuer automatiquement des rangs inversés
Classer les données dans l'ordre inverse
Pour effectuer un classement inversé dans Excel, vous pouvez légèrement modifier la formule RANG standard en spécifiant un argument supplémentaire. Cette approche vous permet de classer facilement les 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 que le résultat du classement inversé apparaisse. En supposant que votre plage de données soit dans les cellules B2 à B10, entrez la formule suivante dans la première cellule adjacente à vos données (par exemple, dans la cellule C2) :
=RANK(B2,$B$2:$B$10,1)
Après avoir saisi la formule, appuyez sur Entrée. Pour appliquer la formule aux autres cellules de votre colonne, utilisez la poignée de remplissage : positionnez votre souris sur le coin inférieur droit de la cellule où vous avez entré la formule (C2), et lorsque le curseur se transforme en signe plus, faites glisser vers le bas pour remplir les cellules restantes de la plage à côté de vos données (jusqu'à 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, si vous avez des valeurs en double, la fonction RANG attribuera le même rang à ces valeurs, et les rangs suivants seront ignorés (par exemple, s'il y a deux éléments ex-aequo pour le deuxième rang, le rang suivant sera quatre).
Le classement inversé est particulièrement utile lorsque vous souhaitez mettre en évidence les valeurs les plus faibles ou les temps les plus rapides, et il fonctionne bien sur des ensembles de données où les égalités sont soit acceptables soit attendues.
Code VBA : Attribuer automatiquement des rangs inversés
Pour des ensembles de données plus volumineux ou dans des 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 rapidement et efficacement des rangs inversés. Cette méthode est idéale pour les utilisateurs à l'aise avec de petites quantités de programmation et souhaitant éliminer des é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 Insérer > Module et 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 dans l'ordre inverse), puis sélectionnez la première cellule où vous souhaitez que les résultats du classement soient affichés. Cliquez sur OK après chaque sélection.
Cette macro trie vos données dans l'ordre croissant et attribue des rangs inversés en conséquence, plaçant la plus petite valeur au rang 1. Elle est particulièrement utile pour classer des milliers d'entrées en une seule fois, ou pour automatiser le classement dans des rapports qui se rafraîchissent régulièrement.
Lors de l'utilisation de cette macro, assurez-vous que vos données sont contiguës et contiennent uniquement des valeurs numériques. Toute cellule non numérique ou vide peut entraîner une sortie incorrecte, il est donc préférable de nettoyer vos données avant. De plus, sauvegarder votre classeur avant d'exécuter des macros est une bonne précaution pour éviter des modifications involontaires.
Meilleurs outils de productivité pour Office
Améliorez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité incomparable. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte l’interface par onglets à Office, simplifiant considérablement votre travail.
- Activez la modification 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é de50 % et réduit des centaines de clics de souris chaque jour !
Tous les modules complémentaires Kutools. Une seule installation
La suite Kutools for Office regroupe les modules complémentaires pour Excel, Word, Outlook & PowerPoint ainsi qu’Office Tab Pro, idéal pour les équipes travaillant sur plusieurs applications Office.





- Suite tout-en-un — modules complémentaires Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un installateur, une licence — installation en quelques minutes (compatible MSI)
- Une synergie optimale — productivité accélérée sur l’ensemble des applications Office
- Essai complet30 jours — sans inscription, ni carte bancaire
- Meilleure valeur — économisez par rapport à l’achat d’add-ins individuels