Table des matières
Le tutoriel montre différentes façons de passer des lignes aux colonnes dans Excel : formules, code VBA et un outil spécial.
La transposition de données dans Excel est une tâche familière à de nombreux utilisateurs. Très souvent, vous construisez un tableau complexe pour vous rendre compte qu'il est parfaitement logique de le faire pivoter pour une meilleure analyse ou présentation des données dans des graphiques.
Dans cet article, vous trouverez plusieurs façons de convertir des lignes en colonnes (ou des colonnes en lignes), peu importe comment vous l'appelez, c'est la même chose : ) Ces solutions fonctionnent dans toutes les versions d'Excel 2010 à Excel 365, couvrent de nombreux scénarios possibles et expliquent les erreurs les plus courantes.
Convertir des lignes en colonnes dans Excel à l'aide du collage spécial
Supposons que vous ayez un ensemble de données similaire à celui que vous voyez dans la partie supérieure du graphique ci-dessous. Les noms des pays sont organisés en colonnes, mais la liste des pays est trop longue, il faut donc transformer les colonnes en lignes pour que le tableau tienne dans l'écran :
Pour passer des lignes aux colonnes, procédez comme suit :
- Sélectionner les données d'origine. Pour sélectionner rapidement l'ensemble du tableau, c'est-à-dire toutes les cellules contenant des données dans une feuille de calcul, appuyez sur Ctrl + Home, puis sur Ctrl + Shift + End .
- Copiez les cellules sélectionnées soit en cliquant avec le bouton droit de la souris sur la sélection et en choisissant Copie dans le menu contextuel ou en appuyant sur Ctrl + C .
- Sélectionnez la première cellule de la plage de destination.
Veillez à sélectionner une cellule située en dehors de la plage contenant vos données d'origine, afin que les zones de copie et de collage ne se chevauchent pas. Par exemple, si vous avez actuellement 4 colonnes et 10 lignes, le tableau converti aura 10 colonnes et 4 lignes.
- Cliquez avec le bouton droit de la souris sur la cellule de destination et choisissez Collage spécial dans le menu contextuel, puis sélectionnez Transposition .
Pour plus d'informations, veuillez consulter la section Comment utiliser le collage spécial dans Excel.
Remarque : si vos données sources contiennent des formules, veillez à utiliser correctement les références relatives et absolues selon qu'elles doivent être ajustées ou rester verrouillées à certaines cellules.
Comme vous venez de le voir, la fonction Collage spécial vous permet d'effectuer des transformations de ligne à colonne (ou de colonne à ligne) littéralement en quelques secondes. Cette méthode copie également le formatage de vos données originales, ce qui constitue un argument supplémentaire en sa faveur.
Cependant, cette approche a deux inconvénients qui l'empêchent d'être qualifié de solution parfaite pour la transposition de données dans Excel :
- Il n'est pas bien adapté à la rotation de tableaux Excel entièrement fonctionnels. Si vous copiez l'ensemble du tableau et ouvrez ensuite l'application Collage spécial vous trouverez le Transposition Dans ce cas, vous devez soit copier le tableau sans les en-têtes de colonne, soit le convertir en plage.
- Collage spécial > ; Transposition ne lie pas le nouveau tableau aux données d'origine, ce qui fait qu'il n'est adapté qu'aux conversions uniques. Chaque fois que les données sources changent, vous devez répéter le processus et faire pivoter le tableau à nouveau. Personne ne veut perdre son temps à changer les mêmes lignes et colonnes encore et encore, n'est-ce pas ?
Comment transposer un tableau et le relier aux données d'origine ?
Voyons comment passer d'une ligne à une colonne en utilisant la méthode familière suivante Collage spécial L'avantage de cette approche est qu'à chaque fois que vous modifiez les données de la table source, la table retournée reflète les changements et se met à jour en conséquence.
- Copiez les lignes que vous souhaitez convertir en colonnes (ou les colonnes à transformer en lignes).
- Sélectionnez une cellule vide dans la même feuille de calcul ou dans une autre.
- Ouvrez le Collage spécial comme expliqué dans l'exemple précédent et cliquez sur Coller le lien dans le coin inférieur gauche :
Vous obtiendrez un résultat similaire à celui-ci :
Cela va transformer votre table en quelque chose d'un peu effrayant, comme vous le voyez dans la capture d'écran ci-dessous, mais ne paniquez pas, il suffit de 2 étapes supplémentaires, et vous obtiendrez le résultat souhaité.
C'est une solution un peu longue mais élégante, n'est-ce pas ? Le seul inconvénient de cette approche est que le formatage original est perdu dans le processus et que vous devrez le restaurer manuellement (je vous montrerai une façon rapide de le faire plus loin dans ce tutoriel).
Comment transposer dans Excel à l'aide de formules
Une façon plus rapide de passer dynamiquement des colonnes aux lignes dans Excel est d'utiliser la formule TRANSPOSE ou INDEX/ADDRESS. Comme l'exemple précédent, ces formules conservent également les connexions aux données d'origine mais fonctionnent un peu différemment.
Transformation de lignes en colonnes dans Excel à l'aide de la fonction TRANSPOSE
Comme son nom l'indique, la fonction TRANSPOSE est spécialement conçue pour transposer des données dans Excel :
=TRANSPOSE(tableau)Dans cet exemple, nous allons convertir un autre tableau qui répertorie les États américains par population :
- Comptez le nombre de lignes et de colonnes dans votre tableau original et sélectionnez le même nombre de cellules vides, mais dans l'autre sens.
Par exemple, notre tableau d'exemple comporte 7 colonnes et 6 lignes, y compris les titres. Comme la fonction TRANSPOSE transforme les colonnes en lignes, nous sélectionnons une plage de 6 colonnes et 7 lignes.
- Avec les cellules vides sélectionnées, tapez cette formule :
=TRANSPOSE(A1:G6)
- Comme notre formule doit être appliquée à plusieurs cellules, appuyez sur Ctrl + Shift + Enter pour en faire une formule de tableau.
Voilà, les colonnes sont transformées en lignes, exactement comme nous le voulions :
Avantages de la fonction TRANSPOSE :
Le principal avantage de l'utilisation de la fonction TRANSPOSE est que le tableau transposé conserve la connexion avec le tableau source et que, chaque fois que vous modifiez les données sources, le tableau transposé change en conséquence.
Faiblesses de la fonction TRANSPOSE :
- Le formatage original du tableau n'est pas sauvegardé dans le tableau converti, comme vous le voyez dans la capture d'écran ci-dessus.
- S'il y a des cellules vides dans le tableau d'origine, les cellules transposées contiendront des 0. Pour résoudre ce problème, utilisez la fonction TRANSPOSE en combinaison avec la fonction IF comme expliqué dans cet exemple : Comment transposer sans zéros.
- Vous ne pouvez pas modifier les cellules du tableau pivoté, car il est très dépendant des données sources. Si vous essayez de modifier la valeur d'une cellule, vous obtiendrez l'erreur "Vous ne pouvez pas modifier une partie d'un tableau".
En conclusion, quelle que soit la qualité et la facilité d'utilisation de la fonction TRANSPOSE, elle manque certainement de souplesse et n'est donc pas forcément la meilleure solution dans de nombreuses situations.
Pour plus d'informations, veuillez consulter la fonction TRANSPOSE d'Excel avec des exemples.
Convertir une ligne en colonne avec les fonctions INDIRECT et ADDRESS
Dans cet exemple, nous allons utiliser une combinaison de deux fonctions, ce qui est un peu délicat. Nous allons donc faire pivoter un tableau plus petit pour mieux nous concentrer sur la formule.
Supposons que vous ayez des données dans 4 colonnes (A - D) et 5 lignes (1 - 5) :
Pour que les colonnes deviennent des lignes, procédez comme suit :
- Saisissez la formule ci-dessous dans la cellule la plus à gauche de la plage de destination, par exemple A7, et appuyez sur la touche Entrée :
=INDIRECT(ADRESSE(COLONNE(A1),LIGNE(A1)))
- Copiez la formule vers la droite et vers le bas sur autant de lignes et de colonnes que nécessaire en faisant glisser la petite croix noire dans le coin inférieur droit des cellules sélectionnées :
Et voilà, dans votre tableau nouvellement créé, toutes les colonnes sont transformées en lignes.
Si vos données commencent dans une ligne autre que 1 et une colonne autre que A, vous devrez utiliser une formule un peu plus complexe :
=INDIRECT(ADDRESS(COLUMN(A1) - COLUMN($A$1) + ROW($A$1)), ROW(A1) - ROW($A$1) + COLUMN($A$1))))
Où A1 est la cellule la plus haute à gauche de votre tableau source. Veuillez également tenir compte de l'utilisation des références de cellule absolues et relatives.
Cependant, les cellules transposées ont un aspect très ordinaire et terne, par rapport aux données originales :
Mais ne soyez pas déçu, ce problème peut être facilement résolu. Pour restaurer le formatage original, voici ce que vous devez faire :
- Copiez le tableau original.
- Sélectionnez le tableau résultant.
- Cliquez avec le bouton droit de la souris sur le tableau résultant et choisissez Options de collage > ; Mise en forme .
Avantages Cette formule offre un moyen plus souple de transformer des lignes en colonnes dans Excel. Elle permet d'apporter des modifications au tableau transposé car vous utilisez une formule ordinaire et non une formule de tableau.
Lacunes Je n'en vois qu'une : le formatage des données ordinales est perdu, mais vous pouvez le restaurer rapidement, comme indiqué ci-dessus.
Comment fonctionne cette formule
Maintenant que vous savez comment utiliser la combinaison INDIRECTE / ADRESSE, vous voudrez peut-être vous faire une idée de ce que fait réellement la formule.
Comme son nom l'indique, la fonction INDIRECT est utilisée pour référencer indirectement une cellule. Mais la véritable puissance de INDIRECT est qu'elle peut transformer n'importe quelle chaîne de caractères en référence, y compris une chaîne de caractères que vous construisez en utilisant d'autres fonctions et les valeurs d'autres cellules. Et c'est exactement ce que nous allons faire. Si vous suivez jusqu'ici, vous comprendrez tout le reste avec facilité : )
Comme vous vous en souvenez, nous avons utilisé 3 autres fonctions dans la formule - ADDRESS, COLUMN et ROW.
La fonction ADDRESS permet d'obtenir l'adresse de la cellule en fonction des numéros de ligne et de colonne que vous indiquez, respectivement. N'oubliez pas l'ordre : première - ligne, deuxième - colonne.
En d'autres termes, cette partie de la formule ADDRESS(COLUMN(A1),ROW(A1)) échange les lignes contre les colonnes, c'est-à-dire qu'elle prend un numéro de colonne et le transforme en numéro de ligne, puis prend un numéro de ligne et le transforme en numéro de colonne.
Enfin, la fonction INDIRECT produit les données tournées. Rien d'épouvantable, n'est-ce pas ?
Transposer des données dans Excel à l'aide d'une macro VBA
Pour automatiser la conversion des lignes en colonnes dans Excel, vous pouvez utiliser la macro suivante :
Sub TransposeColumnsRows() Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Please select the range to transpose" , Title:= "Transpose Rows to Columns" , Type :=8) Set DestRange = Application.InputBox(Prompt:= "Select the upper left cell of the destination range" , Title:= "Transpose Rows to Columns" , Type :=8) SourceRange.Copy DestRange. SelectSelection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End SubPour ajouter une macro à votre feuille de calcul, veuillez suivre les directives décrites dans Comment insérer et exécuter un code VBA dans Excel.
Remarque : La transposition avec VBA est limitée à 65536 éléments. Si votre tableau dépasse cette limite, les données supplémentaires seront supprimées en silence.
Comment utiliser la macro pour convertir une ligne en colonne ?
Une fois la macro insérée dans votre classeur, effectuez les étapes suivantes pour faire pivoter votre tableau :
- Ouvrez la feuille de calcul cible, appuyez sur Alt + F8 , sélectionnez l'option TransposeColumnsRows et cliquez sur Exécuter .
Profitez du résultat :)
Intervertir les colonnes et les lignes avec l'outil Transposition
Si vous devez régulièrement effectuer des transformations de ligne à colonne, vous recherchez peut-être un moyen plus rapide et plus simple. Heureusement, j'ai un tel moyen dans mon Excel, et c'est le cas d'autres utilisateurs de notre Ultimate Suite :)
Laissez-moi vous montrer comment changer de ligne et de colonne dans Excel en quelques clics :
- Sélectionnez n'importe quelle cellule de votre tableau, allez dans la section Ablebits tab> ; Transformer et cliquez sur le bouton Transposition bouton.
Si vous souhaitez Coller les valeurs uniquement ou Créer des liens vers les données sources pour forcer le tableau pivoté à se mettre à jour automatiquement à chaque modification apportée au tableau d'origine, sélectionnez l'option correspondante.
Le tableau est transposé, le formatage est préservé, aucune autre manipulation n'est nécessaire :
Si vous êtes curieux d'essayer ces outils et plus de 70 autres outils professionnels pour Excel, je vous invite à télécharger une version d'essai de notre Ultimate Suite. Merci de votre lecture et j'espère vous voir sur notre blog la semaine prochaine !