🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Fonction SORT dans Excel — Trier sans toucher à vos données (SORT vs. SORTBY)

|

Fonction SORT dans Excel — Trier sans toucher à vos données (SORT vs. SORTBY)

L'essentiel — Le bouton Trier du ruban réorganise vos vraies lignes ; la fonction SORT renvoie une copie triée qui se retrie dès que la source change. Syntaxe : =SORT(matrice; [indice_tri]; [ordre]; [par_colonne]). La règle qui piège tout le monde : indice_tri est un numéro de colonne, pas une lettre — SORT(data; 2; -1) trie sur la 2ᵉ colonne, en décroissant ; hors plage donne #VALUE!. Pour trier selon une clé qui n'est pas dans votre sortie, ne la forcez pas dans l'indice — utilisez SORTBY. Excel 365 et 2021+.

=SORT(Sales)                       ' copie triée, par la première colonne, croissant
=SORT(Sales, 2, -1)                ' par la 2ᵉ colonne, décroissant
=SORTBY(Names, Scores, -1)         ' noms triés par une colonne de scores non affichée

Trier signifiait jusqu'ici : sélectionner la plage, cliquer Trier et réécrire définitivement l'ordre de vos lignes — acceptable une fois, pénible quand les données continuent d'arriver. La fonction SORT renverse cela : elle laisse la source intacte et vous remet une vue vivante et ordonnée qui ne périme jamais.

Remarque : dans une interface Excel en français, la fonction s'appelle TRIER, et SORTBY est TRIER.PAR. Apparentées : FILTER = FILTRE, UNIQUE = UNIQUE. Les formules ci-dessous utilisent les noms anglais ; le comportement est identique.

Ce que vous allez apprendre

  • Pourquoi SORT est une copie vivante et le bouton du ruban une réécriture unique
  • La règle de indice_tri : c'est un numéro de colonne, et ce que signifie #VALUE!
  • Trier sur plusieurs colonnes à la fois
  • Quand SORTBY est le bon outil plutôt que SORT
  • Le motif vivant =SORT(UNIQUE(FILTER(...))) pour tableaux de bord et listes déroulantes

Le modèle mental : une copie triée, pas une réécriture

Le bouton Trier du ruban est destructeur et manuel : il réordonne physiquement les lignes sélectionnées et n'a aucune mémoire — ajoutez une ligne demain et vous triez à nouveau. La fonction SORT est un miroir avec un ordre : elle lit la source, renvoie une copie triée dans sa propre plage de déversement et retrie dès que la source change. Vos données d'origine restent dans l'ordre où elles sont arrivées, ce qui compte quand cet ordre signifie quelque chose (ordre de saisie, une colonne d'ID) ou quand la source est un tableau auquel vous ajoutez en continu.

' La source A2:C100 reste telle que saisie ; ceci déverse une vue triée ailleurs :
=SORT(A2:C100, 3, -1)        ' par la colonne 3 (la 3ᵉ colonne), des plus élevés d'abord

La règle qui piège tout le monde : indice_tri est un numéro

indice_tri indique à SORT par quelle colonne ordonner — et c'est un numéro de position dans la matrice, compté à partir de 1, pas la lettre de colonne de la feuille. Si votre matrice est A2:C100, alors 1 est la colonne A, 2 est B, 3 est C. Demandez une colonne qui n'existe pas dans la matrice et vous obtenez #VALUE! :

=SORT(A2:C100, 2)        ' par la 2ᵉ colonne de la matrice (B), croissant
=SORT(A2:C100, 4)        ' -> #VALUE!  la matrice n'a que 3 colonnes

ordre vaut 1 pour croissant (par défaut) et -1 pour décroissant — pas les mots « asc »/« desc ». Gardez ces deux faits en tête et 90 % des erreurs de SORT disparaissent. Le quatrième argument, par_colonne, bascule le tout vers un tri des colonnes de gauche à droite plutôt que des lignes de haut en bas ; vous en aurez rarement besoin.

Trier sur plusieurs colonnes à la fois

Les vrais tris sont souvent à plusieurs clés : la région d'abord, puis le montant au sein de chaque région. Passez des matrices entre accolades pour l'indice et l'ordre :

' Par la colonne 1 croissant, puis la colonne 3 décroissant en cas d'égalité :
=SORT(Sales, {1, 3}, {1, -1})

Les deux listes {...} se correspondent position par position : la colonne 1 reçoit l'ordre 1 (croissant), la colonne 3 reçoit l'ordre −1 (décroissant). Une clé primaire et une clé secondaire en une formule — ce que la boîte de dialogue du ruban vous fait régler via trois menus déroulants.

Quand recourir à SORTBY à la place

Voici la distinction qui décide quelle fonction employer. SORT ne peut trier que par une colonne qui se trouve dans la matrice qu'elle renvoie. SORTBY sépare ce que vous affichez de ce sur quoi vous triez — vous pouvez ainsi ordonner une liste de noms par une colonne de scores que vous ne voulez pas montrer :

' SORT ne le fait pas proprement — la clé (Scores) n'est pas dans la sortie (Names) :
=SORTBY(Names, Scores, -1)               ' noms, classés par score, score masqué

' Trier par deux clés externes :
=SORTBY(Names, Region, 1, Hire_Date, 1)  ' par région, puis date d'embauche

Le jugement : si votre clé de tri est une colonne que vous renvoyez déjà, SORT avec un indice est le plus simple. Dès que vous voulez trier selon quelque chose qui n'est pas dans la sortie — ou selon une expression comme SORTBY(data, LEFT(Code, 2)) —, cessez de vous battre avec l'indice de colonne de SORT et passez à SORTBY. Forcer une clé externe dans SORT est la raison la plus fréquente pour laquelle on décrète « SORT ne peut pas faire ce dont j'ai besoin », alors qu'on voulait SORTBY depuis le début.

Le motif vivant : SORT autour d'UNIQUE et de FILTER

SORT est la couche la plus externe de la formule la plus utile d'Excel moderne. Combinez-la avec UNIQUE et FILTER et une seule expression produit une liste propre, ordonnée et autonome :

=SORT(UNIQUE(FILTER(Customer, Region = "West")))

FILTER sélectionne, UNIQUE dédoublonne, SORT classe — et le tout se relance dès qu'une vente arrive. C'est la source standard d'une liste déroulante dynamique (pointez la Validation des données vers le déversement avec #) ou d'une liste de tableau de bord qui s'entretient seule. Pas de retri manuel, pas de bouton actualiser, pas de macro.

Comment ExcelMaster aide

La plupart des demandes de tri signifient en réalité « montre-moi ceci, classé, et garde-le classé » — top comptes par solde, tickets ouverts du plus ancien d'abord, un classement. ExcelMaster écrit la bonne formule — SORT avec l'indice numérique et l'ordre corrects, ou SORTBY quand la clé est hors de la sortie — à partir d'une description en langage naturel, et dépose la vue vivante sur l'onglet que vous nommez. Vous décrivez le classement ; il trouve l'indice, le -1 et les accolades multi-clés.

Questions fréquentes

Quelle est la différence entre SORT et le bouton Trier ?

La fonction SORT renvoie une copie triée dans une nouvelle plage et retrie automatiquement quand la source change, sans toucher à vos données d'origine. Le bouton Trier du ruban réécrit définitivement l'ordre des lignes sélectionnées et doit être relancé après chaque changement de données.

Comment trier sur plusieurs colonnes avec la fonction SORT ?

Passez l'indice et l'ordre sous forme de matrices entre accolades : =SORT(data; {1; 2}; {1; -1}) trie par la première colonne croissant, puis par la deuxième décroissant en cas d'égalité.

Quelle est la différence entre SORT et SORTBY ?

SORT ordonne une matrice par l'une de ses propres colonnes (référencée par numéro). SORTBY ordonne une matrice par une ou plusieurs matrices ou expressions séparées, vous pouvez donc trier selon une clé qui ne fait pas partie du résultat affiché.

Pourquoi SORT renvoie-t-elle #VALUE! ?

En général parce que indice_tri pointe vers une colonne qui n'existe pas dans la matrice — il compte les positions dans la matrice à partir de 1, pas les lettres de colonne de la feuille. Vérifiez que l'indice est dans le nombre de colonnes passées.

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 16/06/2026.

Guides connexes : Excel FILTER · Excel UNIQUE · XLOOKUP dans Excel