Qu'est-ce que la fonction TRANSPOSE ?
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.

Comprendre chaque paramètre de la fonction TRANSPOSE
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.

Exemples pratiques pas à pas
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.
- 1Dans une cellule, écris
=TRANSPOSE(. - 2En 1er argument : sélectionne tout le planning à pivoter, en-têtes comprises,
A1:F5. Tu démarres enA1et non enA2parce 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 ligneDocumentation,F5, pour que les 5 lignes et 6 colonnes y soient toutes. - 3Ferme 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.
=TRANSPOSE(A1:F5)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.
- 1Dans une cellule, écris
=TRANSPOSE(. - 2En 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 commeA2:A6. Le jour où tu ajoutesPower QuerysousPower BI, le tableau s'étend et la formule embarque la nouvelle compétence sans que tu la retouches. - 3Ferme 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.
=TRANSPOSE(Competences[Compétence])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.
- 1Dans une cellule, écris
=TRANSPOSE(. - 2En 1er argument : écris la fonction FILTRE et referme-la,
FILTRE(A2:C7; B2:B7="Accessoire"). Elle reçoit le tableauA2:C7sans la ligne d'en-têtes (Produitn'est pas un produit) et son critèreB2: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. - 3Ferme 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.
=TRANSPOSE(FILTRE(A2:C7; B2:B7="Accessoire"))
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.

Astuces avancées avec TRANSPOSE
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.
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.
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.

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ère | TRANSPOSE | Collage spécial | INDIRECT |
|---|---|---|---|
| Lien dynamique avec la source | Oui | Non (valeurs fixes) | Oui (avec formules) |
| Conserve la mise en forme | Non | Oui | Non |
| Simplicité | Simple | Simple | Complexe |
| Performance | Bonne | Bonne | Volatile (recalcul constant) |
| Meilleur usage | Données dynamiques sans besoin de mise en forme | Copie ponctuelle avec mise en forme | Références complexes construites en texte |
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.
Copie les cellules source avec Ctrl+C, clique sur la cellule de destination, puis utilise Collage spécial (Ctrl+Alt+V) et coche l'option Transposer. Cette méthode colle les valeurs transposées en conservant la mise en forme d'origine.
Inconvénient : le résultat est figé. Si les données source changent, tu dois recommencer le collage manuellement.
Non. TRANSPOSE retourne uniquement les valeurs calculées, pas les attributs de format (couleurs, bordures, formats de nombre, gras, italique). Ton tableau transposé sera identique en contenu mais visuellement brut. Si la mise en forme est importante, utilise le Collage spécial Transposer qui copie à la fois les valeurs et le formatage, mais sans lien dynamique avec la source.
Oui. Utilise Tableau1[#Tout] comme argument de TRANSPOSE pour inclure les en-têtes et toutes les lignes. Le résultat est dynamique : si tu ajoutes des lignes au tableau source, la formule les intègre automatiquement.
Attention : le résultat de TRANSPOSE n'est pas lui-même un tableau structuré, juste une plage de valeurs dynamiques. Tu ne peux pas référencer le résultat transposé avec la syntaxe des tableaux structurés.
Cette erreur signifie que la zone de destination contient déjà des données qui bloquent l'expansion du résultat transposé. Assure-toi que toute la zone où le résultat va se répandre est complètement vide. Pour identifier la taille nécessaire : une plage M lignes × N colonnes produit un résultat N lignes × M colonnes. Supprime ou déplace les données existantes dans cette zone avant de saisir la formule.
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



