Aller au contenu principal

Qu'est-ce que la fonction TRANSPOSE ?

Définition
La fonction TRANSPOSE pivote une plage de cellules en inversant ses lignes et colonnes : une plage M lignes × N colonnes devient N lignes × M colonnes.

TRANSPOSE te sert quand une autre formule ou un graphique attend tes données dans l'orientation inverse de celle où elles sont rangées, et que tu veux garder le lien vivant avec la source plutôt que de figer une copie. C'est l'option à privilégier dès que le tableau source continue de bouger.

Que tu prépares un rapport pour ta direction, que tu analyses des données de ventes, ou que tu réorganises un planning, TRANSPOSE te fait gagner un temps précieux. Fini la saisie manuelle cellule par cellule pour transposer un tableau de 5 colonnes en 5 lignes.

Syntaxe

=TRANSPOSE(plage)

Clique sur un argument pour aller à son explication.

En Excel classique (avant Office 365), TRANSPOSE est une formule matricielle qui nécessite la validation par Ctrl+Maj+Entrée et la sélection préalable de la zone de destination. En Excel 365, elle se répand automatiquement grâce aux tableaux dynamiques.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction TRANSPOSE

1

plage

: la plage de cellules que tu veux transposer

Ça peut être une référence simple comme A1:D5, une référence à un tableau structuré comme Tableau1[#Tout], ou le résultat d'une autre formule qui retourne une plage. Excel inverse les lignes et les colonnes de cette plage.

La plage peut contenir du texte, des nombres, des dates ou des formules. TRANSPOSE retourne les valeurs calculées, pas les formules elles-mêmes.

Le savais-tu ?
En Excel 365, TRANSPOSE se répand toute seule : tu la tapes dans une cellule et le résultat se déploie. En Excel classique, c'est une formule matricielle qu'il faut valider avec Ctrl+Maj+Entrée après avoir sélectionné la zone de destination.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment pivoter un tableau entier avec la fonction TRANSPOSE

Ton planning de la semaine liste les tâches en lignes et les jours en colonnes, et la revue d'avancement du vendredi se fait sur un écran étroit où ce format oblige tout le monde à faire défiler sur le côté. Tu veux la même information avec les jours en lignes et les tâches en colonnes, sans ressaisir les vingt durées à la main et sans figer les chiffres. La fonction TRANSPOSE bascule le tableau entier d'un coup, en-têtes comprises, et garde le lien avec le planning d'origine.

Les étapes
  1. 1
    Dans une cellule, écris =TRANSPOSE(.
  2. 2
    En 1er argument : sélectionne tout le planning à pivoter, en-têtes comprises, A1:F5. Tu démarres en A1 et non en A2 parce que la ligne des jours (Lundi, Mardi…) doit basculer en même temps que les heures, et tu vas jusqu'à la dernière durée de la ligne Documentation, F5, pour que les 5 lignes et 6 colonnes y soient toutes.
  3. 3
    Ferme la parenthèse et appuie sur Entrée. La fonction TRANSPOSE se répand alors d'elle-même sur les 6 lignes et 5 colonnes voisines, sans aucune recopie vers le bas.
Au final, ta formule devrait ressembler à ça :=TRANSPOSE(A1:F5)
Explication
La fonction lit le planning case par case et échange ses deux axes. Les 6 colonnes de la plage (celle des tâches et les 5 jours) ressortent en 6 lignes, et les 5 lignes (l'en-tête et les 4 tâches) ressortent en 5 colonnes. Comme le résultat se déverse depuis une seule cellule, il reste branché sur la source : corrige une durée dans le planning et la vue pivotée suit toute seule.
Exemple 2

Comment transposer une liste qui s'allonge avec la fonction TRANSPOSE

Tu tiens la liste des compétences à évaluer dans une colonne, et tu dois maintenant construire la grille d'entretien où chaque salarié aura une ligne et chaque compétence une colonne. La liste bouge d'un trimestre à l'autre, donc recopier les en-têtes à la main condamne la grille à être fausse dès la prochaine mise à jour. La fonction TRANSPOSE couche la colonne en ligne et suit la liste quand elle s'allonge.

Les étapes
  1. 1
    Dans une cellule, écris =TRANSPOSE(.
  2. 2
    En 1er argument : sélectionne la seule colonne des noms de compétences, Competences[Compétence]. Le niveau attendu reste où il est, il n'a rien à faire dans les en-têtes de ta grille. Cette référence structurée remplace une plage figée comme A2:A6. Le jour où tu ajoutes Power Query sous Power BI, le tableau s'étend et la formule embarque la nouvelle compétence sans que tu la retouches.
  3. 3
    Ferme la parenthèse et appuie sur Entrée. Les 5 compétences se déversent vers la droite sur une seule ligne, prêtes à recevoir les notes en dessous.
Voici la formule que tu obtiens à la fin :=TRANSPOSE(Competences[Compétence])
Explication
La formule reçoit une colonne de 5 valeurs et la ressort en une ligne de 5 colonnes, dans l'ordre exact de la liste. Comme la référence vise une colonne de tableau structuré (et non une plage figée), la ligne d'en-têtes s'allonge d'elle-même dès qu'une compétence est ajoutée sous la dernière.
Exemple 3

Comment pivoter uniquement les lignes retenues avec les fonctions TRANSPOSE et FILTRE

Le comité produit veut voir les accessoires côte à côte sur une diapositive large, alors que ton fichier de ventes les empile en lignes, mélangés aux écrans. Il te faut donc les seules lignes de la catégorie Accessoire, couchées à l'horizontale, et l'opération revient à chaque nouvelle vente saisie. En imbriquant FILTRE dans la fonction TRANSPOSE, tu obtiens l'extraction et le pivot dans une seule formule qui se recalcule toute seule.

Les étapes
  1. 1
    Dans une cellule, écris =TRANSPOSE(.
  2. 2
    En 1er argument : écris la fonction FILTRE et referme-la, FILTRE(A2:C7; B2:B7="Accessoire"). Elle reçoit le tableau A2:C7 sans la ligne d'en-têtes (Produit n'est pas un produit) et son critère B2:B7="Accessoire" garde les 4 accessoires en écartant les 2 écrans, si bien que TRANSPOSE reçoit un bloc de 4 lignes et 3 colonnes à pivoter.
  3. 3
    Ferme la parenthèse de la fonction TRANSPOSE et appuie sur Entrée. Celle de FILTRE a déjà été refermée à l'étape précédente. Le résultat pivoté se déverse sur 3 lignes et 4 colonnes, et il se remet à jour si un produit change de catégorie.
Une fois les morceaux assemblés, ta formule donne ça :=TRANSPOSE(FILTRE(A2:C7; B2:B7="Accessoire"))
Explication
Ici, la fonction ne travaille pas sur le tableau complet mais sur ce que FILTRE lui donne. Les 4 accessoires arrivent en un bloc de 4 lignes et 3 colonnes, et ressortent en 3 lignes et 4 colonnes (une ligne par information, une colonne par produit). Tout reste dynamique, donc un nouvel accessoire saisi en bas du tableau apparaît directement en colonne supplémentaire.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction TRANSPOSE

Erreur #EPARS! : espace de destination insuffisant

En Excel 365, si la zone où TRANSPOSE doit se répandre contient déjà des données, Excel affiche #EPARS!. C'est la protection contre l'écrasement accidentel de données existantes. Par exemple, transposer une plage de 5 lignes × 3 colonnes nécessite exactement 3 lignes × 5 colonnes libres à destination.

Solution : Assure-toi que toute la zone de destination est vide avant d'utiliser TRANSPOSE. Calcule d'abord la taille du résultat attendu : une plage M lignes × N colonnes produit un résultat N lignes × M colonnes. Si des cellules contiennent des données, déplace-les avant de saisir la formule.

TRANSPOSE ne se met pas à jour quand la source s'agrandit

En Excel classique (avant Office 365), si tu ajoutes une ligne à ta plage source, TRANSPOSE ne l'inclut pas automatiquement dans le résultat transposé. La référence de plage est figée à la taille définie lors de la saisie.

Solution : Utilise des références de tableau structuré comme =TRANSPOSE(Tableau1[#Tout]) : le tableau s'étend automatiquement. Ou passe à Excel 365 qui gère nativement les plages dynamiques. En dernier recours, tu peux utiliser INDIRECT avec des plages nommées dynamiques.

Perte de la mise en forme après la transposition

TRANSPOSE retourne uniquement les valeurs calculées, pas les attributs de formatage (couleurs de cellule, bordures, formats de nombre, gras). Ton tableau transposé peut sembler brut comparé à la source.

Solution : Si tu as besoin de conserver la mise en forme, utilise Copier (Ctrl+C) puis Collage spécial (Ctrl+Alt+V) avec l'option Transposer. Inconvénient : tu perds le lien dynamique avec les données source. Pour garder les deux, applique manuellement la mise en forme sur la plage transposée.

Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec TRANSPOSE

1Astuce

Combine TRANSPOSE avec TRIER pour pivoter et trier en une formule

En Excel 365, tu peux imbriquer TRANSPOSE dans TRIER pour pivoter et trier en même temps. Par exemple, =TRANSPOSE(TRIER(A1:E5)) pivote le tableau et trie simultanément les lignes par ordre croissant sur la première colonne. C'est particulièrement utile quand tu prépares un tableau croisé dynamique manuel et que tu veux des données propres dès le départ.
L'ordre des imbrications compte : TRANSPOSE à l'extérieur agit sur le résultat déjà trié, ce qui est généralement ce que tu veux.

2Astuce

Transpose uniquement les lignes filtrées avec FILTRE

Tu peux combiner TRANSPOSE et FILTRE pour transposer uniquement les lignes qui correspondent à un critère : =TRANSPOSE(FILTRE(A1:D10; B1:B10>100)). Cela produit directement une version pivotée des données filtrées, sans étape intermédiaire.
Très pratique pour alimenter un graphique avec uniquement les lignes pertinentes sans créer de plage intermédiaire.

3Astuce

En Excel classique, sélectionne la zone avant de taper la formule

En Excel classique (avant Office 365), TRANSPOSE est matricielle : tu dois d'abord sélectionner exactement la zone de destination (par exemple 5 colonnes × 3 lignes si la source fait 3 colonnes × 5 lignes), puis taper la formule, puis valider avec Ctrl+Maj+Entrée. Si tu te trompes de taille, tu dois recommencer depuis le début.
En Excel 365, tout cela disparaît : tape la formule dans une seule cellule et elle se répand automatiquement.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

TRANSPOSE vs Collage spécial Transposer vs INDIRECT

Ces trois méthodes permettent de pivoter des données, mais avec des compromis très différents entre dynamisme, simplicité et conservation de la mise en forme.

CritèreTRANSPOSECollage spécialINDIRECT
Lien dynamique avec la sourceOuiNon (valeurs fixes)Oui (avec formules)
Conserve la mise en formeNonOuiNon
SimplicitéSimpleSimpleComplexe
PerformanceBonneBonneVolatile (recalcul constant)
Meilleur usageDonnées dynamiques sans besoin de mise en formeCopie ponctuelle avec mise en formeRéférences complexes construites en texte
Le combo gagnant
Imbrique TRANSPOSE dans TRIER pour pivoter et ranger en une formule : TRANSPOSE(TRIER(A1:E5)) trie d'abord, puis bascule lignes et colonnes. Idéal pour préparer des données propres avant un graphique.
FAQ

Questions fréquentes

Oui, en Excel classique (versions avant Office 365), TRANSPOSE est une formule matricielle qui nécessite Ctrl+Maj+Entrée. Tu dois aussi sélectionner la zone de destination avant de taper la formule. En Excel 365, elle se répand automatiquement grâce aux tableaux dynamiques, ce qui la rend beaucoup plus simple : tu tapes la formule dans une seule cellule et le résultat s'étale automatiquement.

Ressources

Pour aller plus loin

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

Tout voir