Menu

TRIER et TRIERPAR Excel : trier avec une formule (SORT)

=TRIER(A2:C7;3;-1) renvoie le tableau A2:C7 trié selon sa troisième colonne, du plus grand au plus petit, et se retrie quand les données changent. TRIERPAR trie selon n'importe quelle plage, y compris plusieurs colonnes et un ordre personnalisé.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

=TRIER(A2:C7;3;-1) renvoie le tableau A2:C7 trié selon sa troisième colonne, les ventes, de la plus grande à la plus petite. Le tableau d'origine reste tel quel ; la copie triée se répand depuis la cellule de la formule et se retrie toute seule quand un nombre change. Remplacez C7 par 300 et Finn passe en tête. Dans un Excel anglais, TRIER et TRIERPAR s'appellent SORT et SORTBY ; le tableau affiche les formules sous cette forme anglaise, avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules : =TRIER(A2:C7;3;-1).

Ventes de la plus forte à la plus faible
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120CaraNorth200
3BenSouth80DanEast150
4CaraNorth200AnnNorth120
5DanEast150EveSouth95
6EveSouth95BenSouth80
7FinnNorth60FinnNorth60
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =TRIER(A2:C7;3;-1)

Syntaxe de TRIER

=SORT(array, [sort_index], [sort_order], [by_col])
  • array est la plage à trier et à renvoyer.
  • sort_index est le numéro de la colonne de array qui sert au tri. Par défaut, 1.
  • sort_order vaut 1 pour l'ordre croissant (par défaut) ou -1 pour l'ordre décroissant.
  • by_col vaut FAUX (par défaut) pour trier des lignes, VRAI pour trier des colonnes de gauche à droite.

TRIER et TRIERPAR exigent Excel 2021, Excel 2024 ou Microsoft 365 ; les versions plus anciennes affichent #NOM? (#NAME? en anglais). Google Sheets a les deux, mais son SORT prend un numéro de colonne et TRUE ou FALSE par paires.

L'ordre croissant place d'abord les nombres, puis le texte de A à Z, puis FAUX et VRAI. Le texte est comparé sans tenir compte de la casse. Les cellules vides de array reviennent sous forme de 0 dans le résultat.

Classer par ordre alphabétique dans Excel

Pour réordonner une liste sur place, cliquez sur une de ses cellules et choisissez Données > Trier de A à Z (ou de Z à A). Si la liste a des colonnes voisines, Excel trie tout le tableau pour que chaque ligne reste entière. Utilisez Données > Trier pour plusieurs colonnes ou une liste personnalisée.

Pour garder l'ordre d'origine et obtenir une copie alphabétique qui se met à jour toute seule, utilisez TRIER sans autre argument :

Les noms de A à Z
C2
ABC
1NameA to Z
2MiaAnn
3BenBen
4ZoeCara
5AnnDan
6LeoLeo
7CaraMia
8DanZoe
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =TRIER(A2:A8)

Tapez Abe en A3 et il apparaît en premier. =TRIER(A2:A8;;-1) donne l'ordre de Z à A ; les deux séparateurs consécutifs sautent sort_index. Pour classer par ordre alphabétique une liste sans répétitions, triez le résultat de UNIQUE : =TRIER(UNIQUE(A2:A8)) (voir UNIQUE).

TRIERPAR : trier selon une colonne que vous ne renvoyez pas

TRIER ne peut trier que selon une colonne de la plage qu'elle renvoie. TRIERPAR prend la clé de tri comme une plage séparée, ce qui permet de ne renvoyer que les noms, classés selon les ventes :

Les noms classés selon les ventes
E2
ABCDE
1NameRegionSalesBy sales
2AnnNorth120Cara
3BenSouth80Dan
4CaraNorth200Ann
5DanEast150Eve
6EveSouth95Ben
7FinnNorth60Finn
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =TRIERPAR(A2:A7;C2:C7;-1)

Le résultat est Cara, Dan, Ann, Eve, Ben, Finn. La syntaxe est =SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2], ...). Chaque by_array doit avoir autant de lignes que array, sinon TRIERPAR renvoie #VALEUR!.

Pour un top 3, prenez les premières lignes du résultat : =PRENDRE(TRIERPAR(A2:A7;C2:C7;-1);3) renvoie Cara, Dan et Ann. PRENDRE exige Microsoft 365 ou Excel 2024 ; dans Excel 2021, utilisez =INDEX(TRIERPAR(A2:A7;C2:C7;-1);SEQUENCE(3)).

Trier sur plusieurs colonnes

Donnez à TRIERPAR un couple clé et ordre par niveau. Ceci trie par région de A à Z puis, dans chaque région, par ventes de la plus forte à la plus faible :

Région de A à Z, puis ventes décroissantes
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120DanEast150
3BenSouth80CaraNorth200
4CaraNorth200AnnNorth120
5DanEast150FinnNorth60
6EveSouth95EveSouth95
7FinnNorth60BenSouth80
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =TRIERPAR(A2:C7;B2:B7;1;C2:C7;-1)

East arrive en premier, puis les trois lignes North dans l'ordre Cara (200), Ann (120) et Finn (60), puis South. TRIER peut faire la même chose avec des tableaux de numéros de colonnes et d'ordres, même si TRIERPAR se lit plus facilement :

=SORT(A2:C7,{2,3},{1,-1})

Trier dans un ordre personnalisé

L'ordre alphabétique n'est pas toujours celui que vous voulez. Pour trier les régions dans l'ordre North, East, South, transformez chaque région en sa position dans cette liste avec EQUIV et triez selon les positions :

North d'abord, puis East, puis South
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120AnnNorth120
3BenSouth80CaraNorth200
4CaraNorth200FinnNorth60
5DanEast150DanEast150
6EveSouth95BenSouth80
7FinnNorth60EveSouth95
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

EQUIV renvoie 1 pour North, 2 pour East et 3 pour South, et TRIERPAR trie selon ces nombres. Les lignes de même clé gardent leur ordre d'origine, donc les lignes North restent Ann, Cara, Finn. La même astuce trie des mois ou des jours de la semaine par leur nom : listez-les dans l'ordre du calendrier dans EQUIV. Une région absente de la liste reçoit #N/A de EQUIV ; utilisez comme clé IFERROR(MATCH(B2:B7,{"North","East","South"},0),99) (forme anglaise) pour placer ces lignes en dernier.

Exercice : les noms classés selon les ventes

À vous
E2
ABCDE
1NameRegionSalesBy sales
2AnnNorth120
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : En E2, renvoyez uniquement les noms, classés selon les ventes de la plus forte à la plus faible.

La fonction TRIER ou le bouton Trier

Les deux trient, mais ils ne font pas le même travail :

Données > TrierTRIER et TRIERPAR
Modifie le tableau d'origineOuiNon, le résultat va dans de nouvelles cellules
Se met à jour quand les données changentNon, il faut retrierOui
Fonctionne dans Excel 2019 et les versions plus anciennesOuiNon
Le résultat se modifie cellule par celluleOuiNon, c'est une seule formule
Peut être placé dans une autre formuleNonOui, par exemple =PRENDRE(TRIER(A2:C7;3;-1);3)

Utilisez le bouton pour ranger un tableau une fois. Utilisez la fonction pour un rapport ou un tableau de bord qui doit rester trié pendant que les données changent. Si les cellules en dessous ou à droite de la formule ne sont pas vides, la fonction affiche #EPARS! (#SPILL! en anglais) au lieu de la liste triée ; videz-les et elle apparaît (voir l'erreur #EPARS!).

Questions fréquentes

Comment trier des données avec une formule dans Excel ?

Utilisez TRIER : =TRIER(A2:C7;3;-1) renvoie A2:C7 trié selon sa troisième colonne, du plus grand au plus petit. Omettez les deux derniers arguments, =TRIER(A2:A8), pour trier selon la première colonne du plus petit au plus grand, ou de A à Z pour du texte.

Quelle est la différence entre TRIER et TRIERPAR ?

TRIER trie selon une colonne de la plage qu'elle renvoie, choisie par son numéro. TRIERPAR trie selon n'importe quelle plage que vous lui donnez, même une que vous ne renvoyez pas : =TRIERPAR(A2:A7;C2:C7;-1) ne renvoie que les noms, classés selon les ventes. TRIERPAR prend aussi directement plusieurs clés de tri.

Comment classer une liste par ordre alphabétique dans Excel ?

Sélectionnez une cellule de la liste et cliquez sur Données > Trier de A à Z pour la réordonner sur place. Pour garder l'original et obtenir une copie triée qui se met à jour, tapez =TRIER(A2:A8) dans une cellule vide ; utilisez =TRIER(A2:A8;;-1) pour l'ordre de Z à A.

Comment trier selon deux colonnes avec une formule ?

Donnez à TRIERPAR deux couples clé et ordre : =TRIERPAR(A2:C7;B2:B7;1;C2:C7;-1) trie par région de A à Z puis, dans chaque région, par ventes de la plus forte à la plus faible.

Quelles versions d'Excel ont TRIER et TRIERPAR ?

Excel 2021, Excel 2024 et Microsoft 365. Dans Excel 2019 et les versions plus anciennes, elles affichent #NOM?, et le bouton Trier de l'onglet Données est la façon de trier.

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER