Menu

Transposer dans Excel : lignes en colonnes avec TRANSPOSE

=TRANSPOSE(A1:D3) transforme les lignes de A1:D3 en colonnes et reste liée à la source. Pour une copie ponctuelle, utilisez Collage spécial > Transposé. DANSCOL empile toute une grille dans une seule colonne.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

Pour inverser lignes et colonnes dans Excel, tapez =TRANSPOSE(A1:D3) là où le résultat doit commencer : la première ligne de A1:D3 devient la première colonne du résultat. Le résultat reste lié, donc modifier un nombre dans la source le modifie aussi dans la copie. Remplacez B2 par 50 et regardez B6 suivre. La fonction porte le même nom dans un Excel français ; le tableau affiche les formules sous leur forme anglaise, avec des virgules, mais vous pouvez aussi les taper avec des points-virgules, comme =TRANSPOSE(SI(A1:E2="";"";A1:E2)).

Les trimestres en ligne deviennent des trimestres en colonne
A5
ABCD
1RepQ1Q2Q3
2Ann10129
3Ben81114
4
5RepAnnBen
6Q1108
7Q21211
8Q3914
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =TRANSPOSE(A1:D3)

La source a 3 lignes et 4 colonnes, donc le résultat a 4 lignes et 3 colonnes. Dans Excel 2021 et Microsoft 365, TRANSPOSE se répand : vous la tapez dans une seule cellule et appuyez sur Entrée.

Transposer avec le Collage spécial

Quand vous n'avez besoin du tableau inversé qu'une fois, le Collage spécial est plus rapide et ne laisse aucune formule :

  1. Sélectionnez la plage et copiez-la (Ctrl+C, Cmd+C sur un Mac).
  2. Cliquez sur la cellule en haut à gauche de l'emplacement du résultat, en dehors de la plage copiée.
  3. Dans l'onglet Accueil, cliquez sur la flèche sous Coller et choisissez Transposer, ou appuyez sur Ctrl+Alt+V (Cmd+Ctrl+V sur un Mac), cochez Transposé et cliquez sur OK.

Sous Windows, dans un Excel anglais, la séquence clavier est Alt, H, V, T après la copie. La copie collée garde la mise en forme mais n'est pas liée : quand la source change, collez de nouveau. Excel adapte les formules de la plage copiée à leur nouvelle position ; vérifiez celles qui utilisent des références relatives, ou collez des valeurs si vous n'avez besoin que des nombres.

Syntaxe de TRANSPOSE

=TRANSPOSE(array)

Le seul argument est la plage ou le tableau à retourner. TRANSPOSE existe depuis longtemps dans Excel, mais avant Excel 2021 c'est une formule matricielle : sélectionnez d'abord une destination de la bonne forme (4 lignes sur 3 colonnes pour l'exemple ci-dessus), tapez la formule et appuyez sur Ctrl+Maj+Entrée (Cmd+Maj+Entrée sur un Mac). Excel l'affiche alors entre accolades, {=TRANSPOSE(A1:D3)}. Dans Excel 2021 et Microsoft 365, Entrée suffit, et une valeur qui gêne donne #EPARS! (#SPILL! en anglais).

Google Sheets a aussi TRANSPOSE et la fait se répandre de la même façon.

Transformer une colonne en ligne

La même fonction transforme une seule colonne en ligne, par exemple une liste de noms en en-têtes de colonnes :

Une colonne de noms devient une ligne
C2
ABCDEFG
1Name
2AnnAnnBenCaraDanEve
3Ben
4Cara
5Dan
6Eve
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =TRANSPOSE(A2:A6)

C2 répand Ann à Eve sur C2:G2. Ajoutez un nom en A7 et il n'est pas inclus, car la formule lit A2:A6 ; étendez la plage à A2:A7 ou plus pour l'inclure.

Pourquoi TRANSPOSE affiche 0 pour les cellules vides

Une formule qui pointe vers une cellule vide renvoie 0, et TRANSPOSE aussi. Mars n'a pas de ventes ci-dessous, donc la version simple affiche 0 là où la source est vide :

Les cellules vides deviennent 0
D4
ABCDE
1MonthJanFebMarApr
2Sales12095150
3
4MonthSalesMonthSales
5Jan120Jan120
6Feb95Feb95
7Mar0Mar
8Apr150Apr150
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =TRANSPOSE(SI(A1:E2="";"";A1:E2))

B7 affiche 0 pour Mar. La seconde formule transforme d'abord chaque cellule vide en texte vide avec SI, donc E7 reste vide. Tapez un nombre en D2 et les deux formules l'affichent.

Transposer plusieurs lignes en une colonne

Pour empiler toute une grille dans une seule colonne, utilisez DANSCOL (TOCOL en anglais, Microsoft 365 et Excel 2024). Elle lit la plage ligne par ligne ; DANSLIGNE fait la même chose sur une seule ligne :

Une grille empilée dans une colonne
F2
ABCDEF
1RepQ1Q2Q3All values
2Ann1012910
3Ben8111412
49
58
611
714
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =DANSCOL(B2:D3)

F2 liste 10, 12, 9 de la ligne de Ann puis 8, 11, 14 de celle de Ben. Pour lire plutôt colonne par colonne, mettez le troisième argument à VRAI : =DANSCOL(B2:D3;;VRAI). =DANSCOL(B2:D3;1) ignore les cellules vides.

Exercice : les mois en colonne plutôt qu'en ligne

À vous
A5
ABCDE
1MonthJanFebMarApr
2Sales1209580150
3
4Months down
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : En A5, retournez le tableau A1:E2 pour que les mois descendent dans la colonne A et les ventes dans la colonne B.

TRANSPOSE ou une recherche sur la ligne

On transpose souvent un tableau large juste pour lancer une RECHERCHEV dessus. Ce n'est pas nécessaire : RECHERCHEH et RECHERCHEX cherchent directement dans une ligne. =RECHERCHEX("Mar";B1:E1;B2:E2) renvoie les ventes de mars du tableau large ci-dessus sans rien retourner. Transposez quand la disposition elle-même doit changer, pour un graphique, un rapport ou un système qui attend un enregistrement par ligne.

Questions fréquentes

Comment transposer des données dans Excel ?

Copiez la plage, faites un clic droit sur la cellule où le résultat doit commencer et choisissez Collage spécial > Transposé (Ctrl+Alt+V, puis Transposé et Entrée). Cela colle une copie fixe. Pour une copie qui suit la source, tapez =TRANSPOSE(A1:D3) dans la cellule de destination.

Pourquoi TRANSPOSE affiche-t-elle 0 pour les cellules vides ?

Une formule qui fait référence à une cellule vide renvoie 0, et TRANSPOSE ne fait pas exception. Remplacez d'abord les cellules vides par un texte vide : =TRANSPOSE(SI(A1:E2="";"";A1:E2)).

Comment utiliser TRANSPOSE dans Excel 2019 ou une version plus ancienne ?

Sélectionnez une plage de destination aux lignes et colonnes inversées (4 lignes sur 3 colonnes pour une source de 3 sur 4), tapez =TRANSPOSE(A1:D3) et appuyez sur Ctrl+Maj+Entrée (Cmd+Maj+Entrée sur un Mac). Excel 2021 et les versions ultérieures n'ont besoin que d'Entrée.

Comment transformer plusieurs lignes en une seule colonne ?

Utilisez DANSCOL dans Microsoft 365 ou Excel 2024 : =DANSCOL(B2:D3) lit la plage ligne par ligne et empile chaque valeur dans une colonne. =DANSCOL(B2:D3;1) ignore les cellules vides, et DANSLIGNE fait la même chose sur une seule ligne.

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER