Femme utilisant Excel sur un grand écran dans un bureau moderne pour inverser un tableau avec des formules

Faut-il inverser tableau Excel avec une macro ou une formule ?

22 août 2026

Vous avez un tableau Excel dont les lignes sont dans l’ordre inverse de ce qu’il vous faut. Inverser un tableau Excel, c’est une opération courante, mais le choix entre une formule et une macro VBA n’a rien d’anodin. La réponse dépend de votre version d’Excel, de la manière dont vous partagez vos fichiers et du niveau de maintenance que vous acceptez.

Sécurité et macros VBA : le frein que personne ne mentionne en premier

Avant même de comparer les techniques, un facteur change la donne : Microsoft bloque par défaut les macros VBA non fiables. Les fichiers téléchargés depuis Internet ou reçus par mail sont marqués comme non sûrs par le système.

Pour exécuter une macro dans ce contexte, il faut passer par les propriétés du fichier pour le « débloquer », ou le placer dans un emplacement approuvé (Trusted Location). Cela implique de naviguer dans le Trusted Center, section Macro Settings, et d’ajouter manuellement un dossier de confiance.

Ce durcissement de sécurité a une conséquence directe : si vous partagez un fichier contenant une macro d’inversion à un collègue, il y a de fortes chances qu’elle soit bloquée à l’ouverture. Le destinataire devra intervenir dans ses réglages de sécurité pour l’activer, ce qui n’est ni intuitif ni garanti.

À cela s’ajoute une limite structurelle : les macros VBA ne fonctionnent pas dans Excel pour le web. Si votre fichier est ouvert dans un navigateur via Microsoft 365, le code VBA est simplement ignoré. Une solution par formule reste lisible et fonctionnelle partout.

Homme comparant deux tableaux Excel sur double écran dans un bureau à domicile pour transposer des données

Inverser un tableau Excel avec les formules dynamiques SORT et SORTBY

Les versions récentes d’Excel intègrent des fonctions dites « dynamiques » qui changent la manière de manipuler les données. Pour inverser l’ordre des lignes d’un tableau, deux fonctions suffisent : SORT et SORTBY.

Le principe avec SORT

Imaginons un tableau de commandes en colonne A (lignes 2 à 20). Vous voulez afficher ces lignes de la dernière à la première. La fonction SORT accepte un argument d’ordre de tri : 1 pour croissant, -1 pour décroissant.

Si vos données ont une colonne de numérotation ou de date, il suffit de trier cette colonne en ordre décroissant. La formule ressemble à ceci :

=SORT(A2:D20, 1, -1)

Le résultat se déverse automatiquement dans les cellules adjacentes, sans avoir besoin de recopier la formule ligne par ligne. C’est ce qu’on appelle un « tableau dynamique » : une seule cellule contient la formule, et Excel remplit le reste.

SORTBY pour plus de contrôle

SORTBY permet de trier un tableau en fonction d’une colonne qui n’en fait pas partie. Vous pouvez créer une colonne auxiliaire avec des numéros de ligne (via la fonction LIGNE), puis trier par cette colonne en ordre décroissant. Le tableau s’inverse sans toucher aux données d’origine.

Avez-vous besoin de conserver le tableau source intact tout en affichant une version inversée ailleurs dans la feuille ? C’est exactement le cas d’usage idéal de SORTBY.

  • SORT convient quand le tableau possède déjà une colonne triable (date, numéro, identifiant).
  • SORTBY est préférable quand vous voulez inverser l’ordre sans modifier ni ajouter de colonne au tableau source.
  • Les deux fonctions produisent un résultat dynamique : si les données changent, le tableau inversé se met à jour automatiquement.

Macro VBA pour inverser un tableau : dans quels cas c’est justifié

La formule couvre la majorité des besoins. La macro VBA garde un intérêt dans des situations précises, qu’il faut identifier avant de se lancer.

Une macro se justifie quand l’inversion doit modifier les données en place, sans créer de copie ailleurs. Par exemple, vous recevez chaque semaine un export brut et vous voulez que les lignes soient physiquement réordonnées dans le fichier avant archivage.

Le code VBA pour inverser les lignes d’une plage est court. Il consiste à parcourir la moitié des lignes du tableau et à permuter chaque ligne avec son symétrique (première avec dernière, deuxième avec avant-dernière, etc.). On utilise une ligne temporaire pour stocker les valeurs pendant la permutation.

En revanche, ce type de macro présente des limites concrètes :

  • Elle ne fonctionne pas dans Excel pour le web ni dans les fichiers partagés en ligne via Microsoft 365.
  • Elle nécessite un fichier au format .xlsm (classeur prenant en charge les macros), ce qui complique le partage.
  • Elle peut casser des formules existantes si les cellules contiennent des références relatives qui dépendent de la position des lignes.
  • Le destinataire du fichier doit débloquer les macros manuellement ou placer le fichier dans un emplacement approuvé.

Gros plan d'un laptop affichant une macro VBA Excel et un éditeur de formule pour inverser un tableau

Formule ou macro pour inverser un tableau Excel : critères de choix

Le choix ne se résume pas à une question de compétence technique. C’est une question de contexte d’utilisation.

Critère Formule (SORT/SORTBY) Macro VBA
Fonctionne dans Excel web Oui Non
Partage sans friction Oui (format .xlsx) Non (format .xlsm, déblocage requis)
Mise à jour automatique Oui Non (exécution manuelle)
Modification en place Non (crée une copie) Oui
Compatible anciennes versions Non (Excel 365 / 2021+) Oui

Si vous travaillez sur une version d’Excel antérieure à 2021 et que les fonctions SORT/SORTBY ne sont pas disponibles, la macro reste la seule option native. Dans ce cas, une alternative consiste à ajouter une colonne auxiliaire avec des numéros décroissants, puis à trier le tableau via le menu Données.

Pour la plupart des utilisateurs actuels, la formule est la solution la plus fiable. Elle ne dépend d’aucun réglage de sécurité, fonctionne en ligne comme en local, et se met à jour sans intervention.

La macro VBA garde sa place dans les flux automatisés où plusieurs opérations s’enchaînent (inverser, nettoyer, exporter). Mais pour le seul besoin d’inverser un tableau Excel, elle ajoute une complexité qui n’apporte rien de plus qu’une formule bien construite.

Articles similaires