TRIER.PAR : La formule Excel pour trier vos données par critères multiples
=TRIER.PAR(matrice; par_matrice1; [ordre_tri1]; [par_matrice2; ordre_tri2]; ...)La formule TRIER.PAR est une fonction révolutionnaire introduite dans Excel 365 qui transforme complètement la façon de trier vos données. Contrairement aux anciennes méthodes de tri qui modifiaient l'ordre des données originales, TRIER.PAR retourne un nouveau tableau trié sans altérer les données source. Cette approche dynamique est particulièrement précieuse dans les environnements collaboratifs où plusieurs utilisateurs travaillent simultanément sur le même classeur. Avec TRIER.PAR, vous pouvez organiser vos données selon plusieurs critères de tri en cascade, ce qui signifie que vous pouvez d'abord trier par département, puis par salaire, puis par date d'embauche, tout en une seule formule. La fonction accepte plusieurs paramètres de tri, offrant une flexibilité remarquable pour les analyses complexes et les rapports professionnels. Elle s'intègre parfaitement avec d'autres fonctions dynamiques comme FILTER et UNIQUE pour créer des solutions d'analyse de données sophistiquées. Que vous gériez des listes de clients, des inventaires de produits ou des données financières, TRIER.PAR devient rapidement un outil indispensable dans votre arsenal Excel. Sa syntaxe intuitive et ses résultats immédiats en font une fonction accessible même aux utilisateurs intermédiaires.
Syntaxe et paramètres
La syntaxe de TRIER.PAR suit une structure logique : =TRIER.PAR(matrice; par_matrice1; [ordre_tri1]; [par_matrice2; ordre_tri2]; ...). Le premier paramètre 'matrice' est obligatoire et représente la plage ou le tableau complet que vous souhaitez trier. Ce peut être une simple colonne ou une plage multi-colonnes complexe. Le paramètre 'par_matrice1' spécifie la première colonne de tri et doit obligatoirement être fourni. Cette colonne détermine l'ordre principal du résultat. Le paramètre 'ordre_tri1' est optionnel et accepte deux valeurs : 1 pour un tri croissant (par défaut) ou -1 pour un tri décroissant. Vous pouvez ajouter autant de paires (par_matrice; ordre_tri) que nécessaire pour créer un tri multi-niveaux. Un conseil pratique : assurez-vous que toutes les matrices (la matrice principale et les matrices de tri) ont le même nombre de lignes. Excel évaluera les critères de tri de gauche à droite, donc l'ordre de vos paramètres influence directement la hiérarchie du tri. Si vous omettez l'ordre_tri, Excel appliquera automatiquement un tri croissant (1). Pour les tri décroissants complexes, utilisez -1 explicitement pour éviter toute confusion.
arrayby_array1sort_order1Exemples pratiques
Tri simple d'une liste de clients par nom
=TRIER.PAR(A2:B151;A2:A151;1)Cette formule trie la plage A2:B151 selon la colonne A (noms) en ordre croissant (1). Le résultat affiche les clients alphabétiquement tout en conservant l'association avec leurs chiffres d'affaires respectifs.
Tri multi-critères : Département puis Salaire décroissant
=TRIER.PAR(A2:D201;B2:B201;1;D2:D201;-1)La formule trie d'abord par département (colonne B, ordre croissant avec 1), puis par salaire (colonne D, ordre décroissant avec -1). Cette hiérarchie de tri permet une analyse rapide des structures salariales par département.
Tri de produits par stock critique puis par prix
=TRIER.PAR(FILTER(A2:E500;C2:C500<10);C2:C500;1;D2:D500;-1)Cette formule combine FILTER pour extraire uniquement les produits avec stock critique (< 10) et TRIER.PAR pour les organiser d'abord par quantité croissante, puis par prix décroissant. Cela aide à prioriser les réapprovisionnements.
Points clés à retenir
- TRIER.PAR retourne un nouveau tableau trié sans modifier les données originales, contrairement au tri natif d'Excel
- Vous pouvez trier par plusieurs critères en cascade en ajoutant des paires (par_matrice; ordre_tri) successives
- Les paramètres d'ordre acceptent uniquement 1 (croissant) ou -1 (décroissant) ; toute autre valeur génère une erreur #VALUE!
- TRIER.PAR fonctionne uniquement dans Excel 365 et 2021 ; pour les versions antérieures, utilisez le tri natif ou les tableaux croisés dynamiques
- Combinez TRIER.PAR avec FILTER, UNIQUE et d'autres fonctions dynamiques pour créer des solutions d'analyse de données puissantes et automatisées
Astuces de pro
Utilisez des références absolues ($) pour les plages de tri afin d'éviter les décalages lors de la copie de formules : =TRIER.PAR($A$2:$B$100;$A$2:$A$100;1)
Impact : Garantit la stabilité de vos formules lors de la duplication ou de l'adaptation à d'autres données. Économise du temps de débogage.
Combinez TRIER.PAR avec LET pour créer des formules lisibles et maintenables : =LET(data;A2:D100;order;1;TRIER.PAR(data;C2:C100;order))
Impact : Améliore la clarté du code, facilite la maintenance future, permet de réutiliser les variables dans des formules complexes.
Pour trier par plusieurs critères avec logique complexe, utilisez des colonnes d'aide calculées temporaires ou construisez une clé de tri : =TRIER.PAR(A:C;A:A&TEXT(B:B;"00000");1)
Impact : Permet des tris sophistiqués impossibles avec les critères simples, comme trier alphabétiquement puis numériquement dans une seule colonne.
Testez vos formules TRIER.PAR sur un petit jeu de données avant de les appliquer à des milliers de lignes pour identifier les erreurs de logique
Impact : Prévient les erreurs de calcul massif, économise les ressources système, facilite le débogage en cas de problème.
Combinaisons utiles
TRIER.PAR + FILTER pour tri conditionnel avancé
=TRIER.PAR(FILTER(A2:D100;C2:C100>1000;D2:D100="Actif");B2:B100;1)Combine FILTER pour extraire uniquement les lignes où le montant (colonne C) dépasse 1000 ET le statut (colonne D) est 'Actif', puis trie les résultats par nom (colonne B). Crée un rapport filtré et trié en une seule formule.
TRIER.PAR + UNIQUE pour listes triées sans doublons
=TRIER.PAR(UNIQUE(A2:A100);A2:A100;1)Extrait les valeurs uniques de la colonne A et les trie alphabétiquement. Utile pour générer des listes de clients, produits ou départements uniques et organisés sans duplication.
TRIER.PAR + RANK pour classement dynamique avec contexte
=TRIER.PAR(HSTACK(A2:B100;RANK(B2:B100;B2:B100;0));C2:C100;-1)Ajoute une colonne de classement via RANK aux données originales, puis les trie. Crée un rapport montrant le rang de chaque valeur, trié par un autre critère. Nécessite Excel 365 avec HSTACK.
Erreurs courantes
Cause : La plage de tri (par_matrice) référence des cellules supprimées ou une plage invalide, ou les dimensions des matrices ne correspondent pas (nombre de lignes différent entre la matrice principale et la matrice de tri).
Solution : Vérifiez que toutes les plages ont exactement le même nombre de lignes. Utilisez des références absolues ($A$2:$A$100) si la formule sera copiée. Assurez-vous que les colonnes de tri existent et n'ont pas été supprimées.
Cause : Le paramètre 'ordre_tri' contient une valeur autre que 1 ou -1, ou la matrice contient des types de données incompatibles (mélange de texte et nombres sans formatage cohérent).
Solution : Utilisez uniquement 1 (croissant) ou -1 (décroissant) pour les paramètres d'ordre. Vérifiez que vos colonnes de tri contiennent des données homogènes. Pour les dates, assurez-vous qu'elles sont au format DATE et non en texte.
Cause : La formule TRIER.PAR est utilisée dans une version d'Excel antérieure à 2021 ou 365, ou les plages de tri sont circulaires (une cellule résultat essaie de se référencer elle-même).
Solution : Vérifiez votre version d'Excel (TRIER.PAR nécessite Excel 365 ou 2021). Placez la formule dans une cellule différente de celle des données source. Pour les anciennes versions, utilisez les outils de tri natifs ou VBA.
Checklist de dépannage
- 1.Vérifiez que votre version d'Excel est 2021 ou 365 (TRIER.PAR n'existe pas dans les versions antérieures)
- 2.Assurez-vous que toutes les plages (matrice et par_matrices) ont exactement le même nombre de lignes
- 3.Confirmez que les paramètres d'ordre_tri contiennent uniquement 1 (croissant) ou -1 (décroissant)
- 4.Vérifiez que la cellule de destination n'est pas verrouillée ou protégée, et qu'elle dispose d'espace libre pour le tableau résultat
- 5.Testez que les données source ne contiennent pas de références circulaires (la formule ne doit pas se référencer elle-même)
- 6.Contrôlez que les colonnes de tri contiennent des types de données cohérents (texte avec texte, nombres avec nombres, dates avec dates)
Cas particuliers
Tri avec cellules vides dans la colonne de tri
Comportement : Les cellules vides sont traitées comme des valeurs nulles et apparaissent généralement au début (tri croissant) ou à la fin (tri décroissant). Le comportement exact peut varier selon le type de données voisines.
Solution : Utilisez FILTER pour exclure les lignes avec cellules vides avant TRIER.PAR : =TRIER.PAR(FILTER(A:C;A:A<>"");B:B;1)
Cela garantit un résultat prévisible et évite les surprises de positionnement des valeurs vides.
Tri de dates formatées en texte (ex: "01/12/2024")
Comportement : Excel trie les dates texte alphabétiquement ("01/01" avant "10/01") plutôt que chronologiquement, produisant un ordre incorrect.
Solution : Convertissez les dates texte en vraies dates avec DATEVALUE ou reformatez-les : =TRIER.PAR(A:B;DATEVALUE(A:A);1)
Assurez-vous que les dates sont au format DATE natif d'Excel, pas en texte, pour un tri correct.
Tri multi-critères où certains critères contiennent des valeurs en double
Comportement : TRIER.PAR applique les critères de tri en cascade : si deux lignes ont la même valeur pour le premier critère, elle utilise le second critère pour les ordonner. Cela peut créer un ordre apparemment aléatoire si les critères secondaires ne sont pas distincts.
Solution : Ajoutez un critère de tri tertiaire basé sur l'index de ligne (SEQUENCE) ou un identifiant unique pour garantir un ordre déterministe : =TRIER.PAR(A:C;B:B;1;C:C;1;SEQUENCE(ROWS(A:A));1)
Cela assure que même avec des doublons, le tri reste reproductible et prévisible.
Limitations
- •TRIER.PAR n'est disponible que dans Excel 2021 et Excel 365 ; les versions antérieures (2019, 2016, 2013) ne la supportent pas, limitant son usage en environnements d'entreprise hérités
- •La formule ne peut pas trier par des critères conditionnels complexes (ex: trier en fonction d'une logique IF). Pour cela, vous devez créer une colonne d'aide avec la logique souhaitée, puis trier par cette colonne
- •Le tri n'est pas 'stable' par défaut : si deux lignes sont identiques selon tous les critères de tri, leur ordre relatif peut changer. Pour un tri stable, ajoutez un critère tertiaire basé sur l'index de ligne
- •TRIER.PAR retourne un tableau dynamique qui consomme de la mémoire et peut ralentir le classeur avec très grandes données (> 100 000 lignes) combinées avec d'autres formules dynamiques
Alternatives
Compatibilité
✓ Excel
Depuis Excel 2021 ou Excel 365 (version 2108 et ultérieures)
=TRIER.PAR(matrice; par_matrice1; [ordre_tri1]; [par_matrice2; ordre_tri2]; ...)✓Google Sheets
=SORT(range; sort_column; is_ascending; [sort_column2; is_ascending2; ...])Google Sheets utilise SORT au lieu de TRIER.PAR. La syntaxe est similaire mais les paramètres d'ordre utilisent TRUE (croissant) et FALSE (décroissant) au lieu de 1 et -1.
✗LibreOffice
Non disponible