La fonction TRIERPAR d’Excel permet de classer une plage ou un tableau selon les valeurs d’une ou de plusieurs autres plages. Elle peut, par exemple, trier une liste de ventes par région, puis classer les montants de la valeur la plus élevée à la plus faible à l’intérieur de chaque région.

La formule renvoie le résultat dans une autre zone de la feuille sans déplacer les données sources. Elle est particulièrement utile lorsque plusieurs niveaux de tri sont nécessaires ou lorsque la colonne utilisée pour le classement ne doit pas apparaître dans le résultat.

Ce tutoriel présente la syntaxe de TRIERPAR, le rôle de ses arguments et plusieurs exemples construits à partir d’un même tableau de ventes. Vous verrez également comment utiliser des références structurées, combiner TRIERPAR avec FILTRE et corriger les erreurs les plus fréquentes.

À quoi sert la fonction TRIERPAR dans Excel ?

TRIERPAR appartient aux fonctions matricielles dynamiques. Une seule formule peut renvoyer plusieurs lignes et plusieurs colonnes. Le résultat se déverse dans les cellules voisines, sans qu’il soit nécessaire de recopier la formule.

La fonction distingue la plage à restituer des plages utilisées pour le classement. Cette séparation constitue sa principale particularité. Vous pouvez renvoyer les colonnes Commercial, Région et Prestation tout en classant les lignes selon la colonne Montant, même si cette dernière n’apparaît pas dans le résultat.

TRIERPAR permet également d’enchaîner plusieurs critères. Vous pouvez demander un premier tri alphabétique par région, puis un second tri décroissant par montant. L’ordre des critères dans la formule définit leur priorité.

Nous utiliserons le tableau suivant dans l’ensemble des exemples.

A B C D
1 Commercial Région Prestation Montant
2 Léa Est Audit 4 200
3 Marc Ouest Formation 6 800
4 Inès Nord Tableau de bord 5 100
5 Paul Est Reporting 3 700
6 Sarah Sud Automatisation 7 600
7 Hugo Ouest Suivi d’activité 2 900
8 Nora Nord Planning 4 600

Les données occupent les cellules A2:D8. La ligne 1 contient les en-têtes et n’est pas incluse dans les formules. Le résultat sera placé dans une zone vide afin de laisser TRIERPAR déverser les lignes classées.

Quelle est la syntaxe de la fonction TRIERPAR Excel ?

La syntaxe générale est la suivante :

=TRIERPAR(tableau;par_tableau1;[ordre_tri1];[par_tableau2];[ordre_tri2];…)

Les deux premiers arguments sont obligatoires. Les arguments suivants permettent de choisir l’ordre du premier tri et d’ajouter d’autres niveaux de classement.

Argument Obligatoire Rôle Valeur par défaut
tableau Oui Plage ou matrice à restituer dans le résultat Aucune
par_tableau1 Oui Première plage utilisée comme clé de tri Aucune
ordre_tri1 Non 1 pour l’ordre croissant ou -1 pour l’ordre décroissant 1
par_tableau2 Non Deuxième plage utilisée lorsque plusieurs critères sont nécessaires Aucune
ordre_tri2 Non Ordre appliqué au deuxième critère 1

Le tableau à restituer

Le premier argument désigne les cellules qui doivent apparaître dans le résultat. Avec A2:D8, TRIERPAR renvoie les quatre colonnes du tableau. Avec A2:C8, la formule renvoie uniquement le commercial, la région et la prestation.

Cette plage n’est pas obligée d’inclure la colonne utilisée pour le classement. Une formule peut renvoyer A2:C8 tout en s’appuyant sur les montants de D2:D8.

Les plages servant de critères

Chaque argument par_tableau correspond à une ligne ou une colonne utilisée pour déterminer l’ordre du résultat. Pour classer les ventes selon les montants, la première plage de tri est D2:D8. Pour les classer par région, elle devient B2:B8.

La plage de tri doit comporter autant de lignes que le tableau à restituer. Dans notre exemple, A2:D8 et D2:D8 contiennent chacun sept lignes. Une plage comme D2:D7 ne possède que six lignes et ne peut pas être associée correctement au tableau.

L’ordre croissant ou décroissant

La valeur 1 correspond à l’ordre croissant. Les textes sont classés de A à Z, les nombres du plus petit au plus grand et les dates de la plus ancienne à la plus récente. La valeur -1 applique l’ordre inverse.

Si l’argument est omis, Excel utilise l’ordre croissant. Dans une formule comportant plusieurs critères, chaque plage de tri peut posséder son propre ordre.

Comment utiliser la fonction TRIERPAR dans Excel ?

Trier un tableau selon une colonne

Pour classer l’intégralité du tableau selon le montant décroissant, utilisez :

=TRIERPAR(A2:D8;D2:D8;-1)

Le premier argument renvoie les quatre colonnes. Le deuxième indique que la colonne Montant détermine le classement. La valeur -1 place les ventes les plus élevées en premier.

Sarah apparaît donc en première ligne avec 7 600, suivie de Marc avec 6 800. Hugo, dont le montant est de 2 900, apparaît en dernière position. Les informations d’une même ligne restent associées au commercial correspondant.

Trier selon une colonne qui n’apparaît pas dans le résultat

TRIERPAR peut restituer une plage différente de celle utilisée comme critère. Pour afficher uniquement les colonnes Commercial, Région et Prestation tout en classant les lignes selon le montant, utilisez :

=TRIERPAR(A2:C8;D2:D8;-1)

Le résultat contient trois colonnes, car le premier argument est A2:C8. La colonne Montant n’est pas affichée, mais elle continue de déterminer l’ordre des lignes grâce au deuxième argument.

Cette possibilité est utile lorsqu’une colonne technique sert uniquement au classement. Un numéro de priorité, une date de mise à jour ou un rang interne peut organiser le résultat sans devoir être présenté à l’utilisateur.

Classer une simple liste selon des valeurs situées ailleurs

Le tableau à restituer peut ne contenir qu’une seule colonne. Pour afficher uniquement les noms des commerciaux, tout en les classant selon le montant de leurs ventes, utilisez :

=TRIERPAR(A2:A8;D2:D8;-1)

La formule renvoie Sarah, Marc, Inès, Nora, Léa, Paul et Hugo. Seuls les noms apparaissent, mais leur ordre dépend des valeurs de la colonne D. La première plage et la plage de tri n’ont donc pas besoin d’avoir le même nombre de colonnes. Elles doivent en revanche représenter exactement les mêmes lignes.

Dans cet exemple, A2 correspond au montant placé en D2, A3 au montant placé en D3, et ainsi de suite jusqu’à la ligne 8. Si l’une des plages commence en ligne 3 alors que l’autre commence en ligne 2, les correspondances deviennent incohérentes même si les deux références contiennent sept cellules.

Cette construction peut servir à afficher une liste courte à partir d’un tableau plus complet. Vous pouvez, par exemple, restituer uniquement des noms de projets tout en les classant selon une date d’échéance, un niveau de priorité ou un budget conservé dans une autre colonne.

Trier un tableau selon plusieurs critères

Pour classer les lignes d’abord par région dans l’ordre alphabétique, puis par montant décroissant à l’intérieur de chaque région, la formule devient :

=TRIERPAR(A2:D8;B2:B8;1;D2:D8;-1)

Les arguments sont lus de gauche à droite. B2:B8;1 constitue le premier niveau de tri. Les régions apparaissent donc dans l’ordre Est, Nord, Ouest et Sud. D2:D8;-1 constitue le second niveau.

Dans la région Est, Léa apparaît avant Paul, car 4 200 est supérieur à 3 700. Dans la région Nord, Inès précède Nora avec 5 100 contre 4 600. Dans la région Ouest, Marc précède Hugo avec 6 800 contre 2 900.

F G H I
1 Commercial Région Prestation Montant
2 Léa Est Audit 4 200
3 Paul Est Reporting 3 700
4 Inès Nord Tableau de bord 5 100
5 Nora Nord Planning 4 600
6 Marc Ouest Formation 6 800
7 Hugo Ouest Suivi d’activité 2 900
8 Sarah Sud Automatisation 7 600

Le premier critère regroupe donc les lignes par région. Le second critère intervient uniquement lorsque plusieurs lignes possèdent la même région. Inverser les deux paires d’arguments produirait un classement différent, car le montant deviendrait alors prioritaire.

Comprendre la priorité des critères

Dans une formule comportant plusieurs critères, le premier couple plage et ordre est toujours prioritaire. Les critères suivants servent uniquement à départager les lignes considérées comme égales par le critère précédent.

Priorité Plage Ordre Effet
1 B2:B8 1 Regrouper les lignes par région dans l’ordre alphabétique
2 D2:D8 -1 Classer les montants à l’intérieur de chaque région

Si vous inversez les critères, la formule devient =TRIERPAR(A2:D8;D2:D8;-1;B2:B8;1). Le montant constitue alors le premier niveau de tri. Comme tous les montants de notre exemple sont différents, la région n’a aucun effet visible : le second critère n’est utilisé qu’en cas d’égalité entre deux montants.

Avant d’écrire la formule, déterminez donc l’ordre logique du classement. Pour un annuaire, le service peut être prioritaire puis le nom. Pour un suivi d’actions, le statut peut précéder la date d’échéance. L’ordre des arguments doit reproduire cette hiérarchie.

Utiliser TRIERPAR avec un tableau structuré

Les références fixes comme A2:D8 n’incluent pas les nouvelles lignes ajoutées sous le tableau. Pour construire un résultat qui suit l’évolution de la source, convertissez les données en tableau structuré avec le raccourci Ctrl + T.

Si le tableau porte le nom Tableau_Ventes, la formule de tri décroissant selon le montant devient :

=TRIERPAR(Tableau_Ventes;Tableau_Ventes[Montant];-1)

La première référence restitue toutes les colonnes du tableau. La seconde utilise uniquement la colonne Montant comme clé de tri. Lorsqu’une ligne est ajoutée à Tableau_Ventes, les deux références structurées s’agrandissent ensemble.

Pour appliquer deux critères avec des références structurées, utilisez :

=TRIERPAR(Tableau_Ventes;Tableau_Ventes[Région];1;Tableau_Ventes[Montant];-1)

Cette écriture est plus lisible que les références de cellules, car le rôle de chaque colonne apparaît directement dans la formule. Elle résiste également mieux à l’insertion ou au déplacement de colonnes dans le tableau source.

La formule doit être placée dans une zone vide située en dehors du tableau structuré. Le résultat a besoin de plusieurs cellules pour se déverser et ne doit pas être bloqué par des valeurs existantes.

Combiner TRIERPAR avec la fonction FILTRE

FILTRE sélectionne les lignes qui respectent une condition, tandis que TRIERPAR détermine leur ordre. Pour conserver uniquement les ventes de la région Est et les classer par montant décroissant, utilisez :

=TRIERPAR(FILTRE(A2:D8;B2:B8="Est");FILTRE(D2:D8;B2:B8="Est");-1)

La première fonction FILTRE renvoie les quatre colonnes des lignes Est. La seconde renvoie uniquement les montants correspondant aux mêmes lignes. Les deux matrices contiennent donc le même nombre d’éléments et peuvent être utilisées ensemble par TRIERPAR.

Léa apparaît avant Paul, car son montant de 4 200 est supérieur à 3 700. Les autres régions ne sont pas renvoyées.

Lorsque la formule devient plus longue, la fonction LET Excel peut servir à nommer les résultats intermédiaires et à éviter certaines répétitions. Cette optimisation doit toutefois rester lisible pour les personnes qui utiliseront ensuite le fichier.

Quelle différence entre TRIER et TRIERPAR ?

TRIER et TRIERPAR renvoient toutes les deux une nouvelle matrice classée sans modifier la source. Leur différence concerne la manière de désigner les critères.

TRIER utilise le numéro d’une colonne comprise dans la matrice. La formule =TRIER(A2:D8;4;-1) classe ainsi le tableau selon sa quatrième colonne. Cette écriture est courte et convient à un tri simple.

TRIERPAR utilise directement une plage comme clé. La formule =TRIERPAR(A2:D8;D2:D8;-1) désigne explicitement la colonne Montant. Elle peut ensuite recevoir d’autres paires de critères et d’ordres.

La fonction TRIER d’Excel convient donc lorsqu’une seule colonne présente dans le résultat suffit. TRIERPAR est préférable pour les tris successifs, les colonnes de classement non affichées ou les tableaux dont la structure peut évoluer.

Pourquoi la fonction TRIERPAR ne fonctionne-t-elle pas ?

Les plages ne possèdent pas la même taille

Le tableau à restituer et chaque plage de tri doivent contenir le même nombre de lignes. La formule =TRIERPAR(A2:D8;D2:D7;-1) associe sept lignes de données à seulement six montants. Excel ne peut pas déterminer la valeur correspondant à la dernière ligne.

Vérifiez les numéros de début et de fin de chaque référence. Avec un tableau structuré, utilisez des colonnes appartenant au même tableau afin que les références s’agrandissent simultanément.

La plage de tri contient plusieurs colonnes

Chaque argument par_tableau doit correspondre à une seule ligne ou une seule colonne. Pour trier selon Région puis Montant, n’utilisez pas B2:D8 comme une clé unique. Indiquez séparément B2:B8 puis D2:D8, avec l’ordre souhaité pour chaque critère.

L’ordre de tri est incorrect

Les seules valeurs acceptées pour l’ordre sont 1 et -1. Une valeur différente, comme 0 ou 2, entraîne une erreur #VALEUR!. Vous pouvez omettre l’argument pour utiliser l’ordre croissant par défaut.

Une cellule bloque la zone de résultat

TRIERPAR renvoie une matrice dynamique. Si une cellule située dans la zone où le résultat doit apparaître contient déjà une valeur, Excel affiche #EPARS!.

Sélectionnez la cellule d’erreur pour repérer la zone attendue, puis effacez les contenus qui la bloquent ou déplacez la formule. Ne recopiez pas la formule dans les cellules de la zone de déversement.

Les en-têtes sont inclus dans le classement

Avec A1:D8, la ligne d’en-têtes fait partie du tableau à restituer. Elle doit également correspondre aux dimensions des plages de tri et risque d’être déplacée parmi les données.

Utilisez A2:D8 pour les données et conservez les titres au-dessus de la zone de résultat. Les plages servant de critères doivent commencer et se terminer sur les mêmes lignes.

La version d’Excel ne reconnaît pas TRIERPAR

TRIERPAR est disponible dans Excel pour Microsoft 365, Excel 2021 et Excel 2024, notamment sous Windows et macOS. Elle n’est pas disponible dans Excel 2016 ou Excel 2019.

Si la formule renvoie #NOM?, vérifiez la version d’Excel utilisée et l’orthographe du nom de la fonction. La liste des fonctions Excel permet de retrouver les fonctions récentes et leur rôle.

Questions fréquentes sur la fonction TRIERPAR Excel

TRIERPAR modifie-t-elle les données d’origine ?

Non. La fonction lit les plages sources et restitue une nouvelle matrice dans une autre zone. Les lignes du tableau initial restent à leur emplacement. Pour modifier directement leur ordre, utilisez les commandes Trier et filtrer de l’onglet Données.

Peut-on trier selon plus de deux critères ?

Oui. Il suffit d’ajouter une paire composée d’une plage et de son ordre pour chaque nouveau niveau de tri. Les critères sont appliqués de gauche à droite, du plus prioritaire au moins prioritaire.

Peut-on trier selon une colonne masquée ou non renvoyée ?

Oui. La plage servant de critère n’a pas besoin de faire partie du tableau restitué. Vous pouvez afficher les cellules A2:C8 tout en utilisant D2:D8 pour déterminer le classement.

Le résultat est-il recalculé lorsque la source change ?

Oui. Si un montant ou une région est modifié dans les plages référencées, Excel recalcule la formule et réorganise le résultat. Avec des références structurées, les nouvelles lignes ajoutées au tableau sont également prises en compte.

Faut-il valider TRIERPAR avec Ctrl + Maj + Entrée ?

Non. La formule se valide avec la touche Entrée. Excel détermine la taille de la matrice et déverse le résultat dans les cellules voisines. Ctrl + Maj + Entrée concerne les anciennes formules matricielles.

Approfondir les fonctions matricielles d’Excel
TRIERPAR permet de construire des présentations qui restent indépendantes de l’ordre des données sources. Pour apprendre à associer ces fonctions à vos tableaux et à vos besoins professionnels, DOPHIS propose une formation Excel à Chambéry adaptée aux fichiers réellement utilisés par vos équipes.

Articles liés