Aller au contenu principal

Qu'est-ce que la fonction TRIERPAR ?

Définition
La fonction TRIERPAR trie un tableau en utilisant une ou plusieurs colonnes externes ou formules calculées comme critères de tri, indépendamment des colonnes du tableau lui-même.

TRIERPAR (SORTBY en anglais) te sert dès que TRIER se retrouve coincée, quand le critère que tu veux appliquer ne vit pas dans une colonne du tableau affiché, ou que tu ne veux pas polluer ta feuille avec une colonne d'aide juste pour trier. Tu gardes ainsi ton tableau intact à l'écran tout en le classant sur un critère invisible.

C'est elle qui classe tes employés par département puis par salaire décroissant, trie tes produits par catégorie puis par prix, ou ordonne tes commandes selon un montant total calculé (quantité × prix). Le résultat est dynamique : il se met à jour automatiquement quand tes données sources changent.

Syntaxe

=TRIERPAR(tableau; par_tableau1; [ordre_tri1]; [par_tableau2]; [ordre_tri2]; ...)
Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction TRIERPAR

Tu donnes d'abord le tableau à réorganiser, puis tu enchaînes des paires : une colonne (ou une formule) qui sert de critère, suivie de son sens de tri. Tu peux empiler autant de paires que tu veux pour trancher les égalités niveau par niveau.

Seul le sens de tri est facultatif : si tu l'omets, Excel range en croissant. Pour voir les plus grosses valeurs en haut, mets toujours -1 toi-même, sinon tu obtiens l'inverse de ce que tu attendais.

1

tableau

: le tableau ou la plage de cellules que tu veux réorganiser

Il peut contenir une seule colonne ou plusieurs colonnes. TRIERPAR retourne ce tableau entier avec les lignes réorganisées selon tes critères de tri.

2

par_tableau1

: c'est ici que réside toute la puissance de TRIERPAR

Ce paramètre définit selon quelles valeurs tu veux trier. Il peut s'agir d'une colonne externe à ton tableau, ou même d'une formule calculée dynamiquement comme NBCAR(A1:A100) pour trier par longueur de texte.

La seule contrainte : ce tableau doit avoir exactement le même nombre de lignes que ton tableau principal.

3

[ordre_tri1]

: ce paramètre optionnel détermine l'ordre du tri(facultatif)

Utilise 1 (ou omets-le) pour un tri croissant (A vers Z, 0 vers 9, dates anciennes vers récentes), ou -1 pour un tri décroissant (Z vers A, 9 vers 0, dates récentes vers anciennes).

C'est particulièrement utile quand tu veux voir les valeurs les plus importantes en premier, comme les meilleures ventes ou les tâches les plus urgentes.

4

[par_tableau2], [ordre_tri2]...

: ces paramètres optionnels te permettent d'ajouter des niveaux de tri supplémentaires(facultatif)

Excel trie d'abord par le premier critère, puis en cas d'égalité, il utilise le deuxième critère, et ainsi de suite. Tu peux ajouter autant de niveaux que nécessaire en répétant la paire (colonne de tri, ordre).

Attention : Tous les tableaux de tri (par_tableau1, par_tableau2, etc.) doivent avoir exactement le même nombre de lignes que ton tableau principal. Si ce n'est pas le cas, tu obtiendras une erreur #VALEUR!.

Le saviez-vous ?
Le critère de tri n'a pas besoin d'exister dans ton tableau : passe une formule directement, comme C2:C6*D2:D6 pour trier par un montant total, ou NBCAR(A2:A6) pour trier par longueur de texte. C'est ce qui distingue TRIERPAR de TRIER.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment trier un tableau sur deux critères avec la fonction TRIERPAR

L'entretien annuel approche et tu dois présenter la grille des salaires service par service, sans faire chercher personne dans la liste. Tes 14 salariés sont saisis pêle-mêle avec leur département, leur poste et leur salaire, et tu veux le tableau regroupé par département, la rémunération la plus haute en tête de chaque groupe. La fonction TRIERPAR enchaîne les deux tris d'un coup et redéverse le tableau complet à côté, sans toucher à tes données d'origine.

  1. 1Commence par le tableau à réorganiser, le premier argument : ici A2:D15, soit les quatre colonnes de tes 14 salariés, en-têtes exclus. La fonction TRIERPAR renvoie exactement ces lignes, dans un autre ordre.
  2. 2Donne ensuite le premier critère avec par_tableau1 : la colonne des départements, B2:B15. Elle doit couvrir les mêmes lignes que ton tableau, sinon Excel te renvoie l'erreur #VALEUR!.
  3. 3Précise le sens de ce premier tri avec ordre_tri1 : 1 range les départements de A à Z, donc Finance, IT, Marketing, RH puis Ventes.
  4. 4Ajoute un second critère avec par_tableau2 pour départager les salariés d'un même service : la colonne des salaires, D2:D15, toujours sur les mêmes lignes.
  5. 5Termine par ordre_tri2 : -1 classe les salaires du plus élevé au plus bas, si bien que chaque département s'ouvre sur sa rémunération la plus haute.
Au final, ta formule devrait ressembler à ça :=TRIERPAR(A2:D15; B2:B15; 1; D2:D15; -1)
Explication
La fonction range d'abord les départements de A à Z, puis départage les salariés d'un même département par salaire décroissant. Le résultat se déverse tout seul sur 14 lignes et 4 colonnes depuis la seule cellule F4 (il n'y a aucune formule à recopier vers le bas), et il se réorganise dès qu'un salaire change dans les données d'origine.
Exemple 2

Comment trier selon une colonne que tu n'affiches pas avec la fonction TRIERPAR

La direction veut afficher le classement des vendeurs du mois sur l'écran de la salle de pause, mais surtout pas les montants sous les yeux de tout le monde. Tu as leurs noms, leur région et leur chiffre d'affaires, et tu veux sortir la liste du meilleur au moins bon, réduite au nom et à la région. La fonction TRIERPAR sait trier sur une colonne qu'elle ne renvoie pas, là où la fonction TRIER ne peut classer que sur une colonne du tableau affiché.

  1. 1Le premier argument est le tableau que tu veux voir apparaître : A2:B7, donc les colonnes Vendeur et Région seulement. La colonne C reste volontairement en dehors.
  2. 2Le deuxième argument, par_tableau1, porte le critère : C2:C7, la colonne du chiffre d'affaires. Elle couvre les mêmes six lignes que A2:B7, même si elle ne fait pas partie du résultat.
  3. 3Le troisième argument, ordre_tri1, vaut -1 pour classer du plus gros chiffre d'affaires au plus petit. Si tu l'omettais, Excel trierait en croissant et le dernier vendeur passerait en tête.
Voici la formule que tu obtiens à la fin :=TRIERPAR(A2:B7; C2:C7; -1)
Explication
Voilà ce qui sépare vraiment TRIERPAR de TRIER : le critère de tri vit en dehors du tableau renvoyé. La fonction classe les six lignes sur le chiffre d'affaires de la colonne C, puis ne déverse que les colonnes Vendeur et Région. Les montants servent au classement sans jamais s'afficher.
Exemple 3

Comment trier par une valeur calculée avec la fonction TRIERPAR

Un client t'appelle pour savoir où en est sa commande, et tu voudrais traiter d'abord celles qui pèsent le plus lourd. Ton tableau liste le client, le produit, la quantité et le prix unitaire, mais le montant total n'existe nulle part, et tu ne veux pas polluer la feuille avec une colonne de calcul juste pour trier. La fonction TRIERPAR accepte un calcul comme critère : elle fabrique les montants en mémoire, classe les lignes dessus, et les oublie aussitôt.

  1. 1Le premier argument reste ton tableau de commandes tel quel : A2:D6, les cinq lignes avec le client, le produit, la quantité et le prix unitaire.
  2. 2Le deuxième argument n'est plus une colonne mais un calcul : C2:C6*D2:D6 multiplie chaque quantité par son prix unitaire et fabrique à la volée les cinq montants totaux, sans que tu aies à créer la moindre colonne d'appoint.
  3. 3Le troisième argument, ordre_tri1, vaut -1 pour placer la plus grosse commande en haut. Le calcul reste invisible dans la feuille, seul son classement se voit.
Une fois les morceaux assemblés, ta formule donne ça :=TRIERPAR(A2:D6; C2:C6*D2:D6; -1)
Explication
La fonction calcule d'abord les cinq montants en mémoire (5 × 1 000 = 5 000 € pour TechCorp, 200 × 15 = 3 000 € pour ModeStyle), s'en sert comme critère, puis déverse le tableau dans cet ordre. TechCorp passe donc devant ModeStyle alors que ModeStyle a commandé quarante fois plus d'articles.
Exemple 4

Comment trier dans un ordre personnalisé avec les fonctions TRIERPAR et EQUIV

Ton planning de sprint est prêt mais l'ordre des lignes ne veut rien dire, et la réunion commence dans dix minutes. Chaque tâche porte une priorité Haute, Moyenne ou Basse, et tu veux voir les urgences en haut, pas un classement alphabétique qui remonterait Basse en premier. En passant par la fonction EQUIV, tu traduis chaque priorité en un rang chiffré, et la fonction TRIERPAR range le planning dans ton ordre à toi.

  1. 1Le premier argument est le tableau des tâches, A2:C7, que tu veux retrouver intact mais réordonné.
  2. 2Le deuxième argument construit le critère avec la fonction EQUIV : EQUIV(B2:B7; {"Haute";"Moyenne";"Basse"}; 0) cherche chaque priorité dans ta liste de référence et renvoie sa position, soit 1 pour Haute, 2 pour Moyenne et 3 pour Basse. Le 0 final exige une correspondance exacte.
  3. 3Le troisième argument, ordre_tri1, vaut 1 pour ranger ces positions de la plus petite à la plus grande. Les tâches Haute (position 1) remontent donc en premier, et les Basse ferment la marche.
En mettant tout bout à bout, tu écris :=TRIERPAR(A2:C7; EQUIV(B2:B7; {"Haute";"Moyenne";"Basse"}; 0); 1)
Explication
Un tri alphabétique classerait Basse avant Haute, ce qui ne veut rien dire pour un planning. La fonction EQUIV traduit chaque priorité en un rang (1, 2, 3) et TRIERPAR ordonne les lignes sur ce rang, jamais sur le texte. Tu imposes ainsi ton propre ordre à Excel sans ajouter de colonne dans la feuille.
Le conseil du pro
Pour trier des niveaux comme Haute, Moyenne, Basse dans l'ordre logique et non alphabétique, crée une colonne d'appoint avec 3, 2, 1 et trie par elle en décroissant. Excel range alors du plus urgent au moins urgent, pas de A à Z.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction TRIERPAR

Neuf fois sur dix, c'est une histoire de hauteur : ton tableau couvre 10 lignes mais ta colonne de tri en fait 15, et Excel répond #VALEUR!. Aligne tes plages ligne à ligne et le problème disparaît.

Les autres cas sont plus sournois : un #CALCUL! signale que ta version d'Excel ne connaît pas la fonction, et un tri qui part dans tous les sens trahit souvent des nombres stockés en texte dans la colonne critère.

Erreur #VALEUR! : tableaux de tailles différentes

C'est l'erreur la plus courante avec TRIERPAR. Elle survient quand ton tableau principal et ton tableau de tri (par_tableau) n'ont pas exactement le même nombre de lignes. Par exemple, =TRIERPAR(A1:C10; D1:D15; 1) où le tableau fait 10 lignes mais le critère en fait 15.

Solution : Assure-toi que tableau et par_tableau couvrent exactement le même nombre de lignes. Utilise =TRIERPAR(A1:C10; D1:D10; 1) en alignant les plages ligne à ligne.

Erreur #CALCUL! : fonction non disponible

TRIERPAR est une fonction exclusive à Excel 365 et Excel 2021. Si tu utilises une version antérieure d'Excel (2019, 2016, etc.), cette fonction n'existe tout simplement pas.

Solution : Vérifie ta version d'Excel dans Fichier > Compte. Si tu n'as pas Excel 365 ou 2021, utilise la fonction TRIER combinée avec des colonnes helper comme alternative.

Ordre de tri inattendu : mélange de texte et de nombres

Si tes résultats ne sont pas triés comme tu l'attendais, tu as probablement mélangé du texte et des nombres dans ta colonne de tri. Excel traite différemment "10" (texte) et 10 (nombre), ce qui donne un ordre de tri incohérent.

Solution : Utilise CNUM() pour convertir le texte en nombre si nécessaire : =TRIERPAR(A:B; CNUM(C:C); 1). Vérifie le format de tes cellules avec Ctrl+1 pour t'assurer qu'elles sont en format numérique.

Tentative de modifier une cellule du résultat dynamique

TRIERPAR retourne un tableau dynamique en lecture seule. Si tu essaies de modifier manuellement une cellule du résultat, Excel génère une erreur.

Solution : Ne modifie jamais les cellules du résultat directement. Pour changer les données, modifie les données sources. Si tu as besoin d'une copie statique, copie le résultat et colle-le en « Valeurs » dans une autre zone.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

TRIERPAR vs TRIER vs FILTRE vs UNIQUE

Sors TRIERPAR dès que ton critère vit en dehors du tableau ou se calcule à la volée (montant total, longueur de texte, produit de deux colonnes). Si tu tries simplement par une colonne déjà présente dans tes données, TRIER suffit largement.

FILTRE et UNIQUE ne trient pas : elles sélectionnent des lignes ou éliminent les doublons. On les emboîte souvent dans TRIERPAR pour d'abord réduire le jeu de données, puis l'ordonner.

FonctionUsage principalFlexibilitéQuand l'utiliser
TRIERPARTrier selon une colonne externe ou une formule calculéeTrès élevéeCritère de tri hors du tableau ou formule complexe
TRIERTrier un tableau par ses propres colonnesMoyenneTris simples basés sur les colonnes du tableau
FILTREExtraire les lignes qui remplissent une conditionÉlevéeSélectionner des lignes spécifiques, combiné avec TRIERPAR
UNIQUEExtraire les valeurs uniques d'une listeFaibleÉliminer les doublons, souvent combiné avec TRIERPAR
FAQ

Questions fréquentes

TRIER trie un tableau en utilisant les valeurs d'une ou plusieurs de ses propres colonnes. TRIERPAR est plus flexible : tu peux trier un tableau en utilisant des valeurs provenant d'une colonne complètement différente, ou même du résultat d'une formule calculée. C'est idéal quand tu veux trier selon un critère qui n'est pas directement visible dans tes données, comme un montant total (quantité x prix) qui n'existe pas en colonne.

Absolument ! Tu peux ajouter autant de paires (colonne de tri, ordre) que nécessaire. Par exemple, =TRIERPAR(A1:C10; B1:B10; 1; C1:C10; -1) trie d'abord par la colonne B en ordre croissant, puis pour les lignes ayant la même valeur en B, trie par la colonne C en ordre décroissant. C'est parfait pour des tris sophistiqués comme classer des employés par département puis par salaire.

Tu peux utiliser n'importe quelle formule comme critère de tri. Par exemple, =TRIERPAR(A1:B10; NBCAR(A1:A10); 1) trie ton tableau par la longueur du texte dans la colonne A. Tu peux aussi trier par le produit de deux colonnes : =TRIERPAR(A1:C10; B1:B10*C1:C10; -1) trie par le résultat de la multiplication sans que cette valeur soit stockée dans ton tableau.

Oui, TRIERPAR gère parfaitement les dates. Tu peux trier tes données par une colonne de dates avec =TRIERPAR(A1:D10; E1:E10; -1) pour obtenir les dates les plus récentes en premier (ordre décroissant). Tu peux même extraire et trier par le mois ou l'année avec des formules : =TRIERPAR(A1:D10; MOIS(E1:E10); 1) classe les données par mois calendaire.

L'erreur #VALEUR! apparaît généralement quand ton tableau de tri (par_tableau) n'a pas le même nombre de lignes que ton tableau principal. Vérifie que tes plages ont exactement la même hauteur. Une autre cause peut être des valeurs incompatibles dans le paramètre ordre_tri : utilise uniquement 1 ou -1, jamais une autre valeur.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction TRIERPAR : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir