Convertir des colonnes en lignes dans Excel : 5 façons de transposer des données

2026-02-14 07:47:45 zaki zou

5 best ways to transpose data in Excel

Les utilisateurs d'Excel se retrouvent souvent dans des situations où les données sont structurées en colonnes mais seraient plus utiles en lignes, ou vice versa. Ce défi courant de réorganisation des données peut transformer la façon dont vous analysez et présentez les informations. Que vous traitiez des données d'enquête, des rapports financiers ou tout autre ensemble de données nécessitant une réorientation, apprendre à convertir des colonnes en lignes dans Excel est une compétence essentielle qui peut vous faire économiser des heures de travail manuel.

Dans ce guide complet, nous explorerons plusieurs méthodes pour changer des colonnes en lignes dans Excel, allant des techniques manuelles rapides aux solutions automatisées utilisant VBA et Python, vous aidant à transposer les données efficacement.


Que signifie « Convertir des colonnes en lignes » dans Excel ?

Convertir des colonnes en lignes (ou des lignes en colonnes) dans Excel s'appelle transposer des données. Cela implique de faire pivoter votre ensemble de données de 90 degrés, de sorte que les valeurs qui se trouvaient dans des colonnes verticales deviennent des lignes horizontales. Par exemple, si vous avez des noms de produits dans une colonne et des ventes mensuelles en lignes, la transposition les intervertira : les noms de produits deviendront des lignes et les ventes mensuelles deviendront des colonnes, ce qui facilitera l'analyse des tendances ou la création de visualisations comme des graphiques.

La fonction de transposition d'Excel est utile pour :

  • Restructurer les données pour les tableaux croisés dynamiques ou les rapports
  • Simplifier la visualisation des données (par ex., intervertir les axes X et Y)
  • Organiser des ensembles de données désordonnés dans un format plus lisible
  • Partager des données avec d'autres personnes qui préfèrent une disposition différente

Prérequis avant la transposition

Pour éviter la perte de données ou les erreurs, suivez ces étapes de préparation rapides :

  1. Sauvegardez votre classeur : Enregistrez une copie de votre fichier avant de transposer — cela vous protège en cas de problème.
  2. Défusionner les cellules : Les cellules fusionnées peuvent interrompre la transposition. Défusionnez d'abord toutes les cellules de vos données sources.
  3. Effacer la zone cible : Assurez-vous que la zone où vous collerez les données transposées est vide — Excel écrasera les données existantes sans avertissement.
  4. Notez votre version d'Excel : Certaines méthodes (comme la fonction TRANSPOSE dynamique) fonctionnent mieux dans Excel 365/2021, tandis que les versions plus anciennes (2019-) nécessitent des étapes de formule matricielle alternatives.

Méthode 1 : Collage spécial avec transposition (la plus rapide pour les données statiques)

La méthode du collage spécial avec transposition est la manière la plus populaire et la plus simple de changer une colonne Excel en ligne. Elle est idéale pour les tâches ponctuelles où vos données ne changeront pas (données statiques), car elle crée un instantané fixe de vos données transposées.

Guide étape par étape :

  • Sélectionnez vos données sources : Cliquez et faites glisser pour surligner les colonnes que vous souhaitez convertir en lignes.
  • Copiez les données : Faites un clic droit et sélectionnez « Copier » ou appuyez sur « Ctrl+C ». Remarque : N'utilisez pas « Ctrl+X » (Couper) — cela ne fonctionnera pas pour la transposition.
  • Choisissez une cellule cible : Cliquez sur la cellule où vous souhaitez que vos lignes transposées commencent (par ex., C1).
  • Coller avec transposition : Faites un clic droit et survolez « Collage spécial », puis sélectionnez l'option « Transposer » (elle ressemble à une grille pivotée).
  • Finaliser : Les données seront maintenant collées avec les colonnes converties en lignes. Vous pouvez supprimer les données de la colonne d'origine si nécessaire.

Paste Special Transpose to Convert Columns to Rows in Excel

Avantages et inconvénients :

  • ✔ Avantages : Aucune formule requise, prend 10 secondes, conserve le formatage d'origine (couleurs, polices, styles de cellule) et les formules (avec des références ajustées).
  • ✘ Inconvénients : Statique (pas de mises à jour automatiques si les données d'origine changent) ; ne fonctionne pas avec les tableaux Excel (convertissez d'abord les tableaux en plages).

Méthode 2 : Fonction TRANSPOSE (dynamique, mise à jour automatique)

Pour les données qui sont fréquemment mises à jour, la fonction TRANSPOSE crée un lien dynamique entre les données d'origine et les données transposées — les modifications apportées aux colonnes sources se reflètent instantanément dans les lignes transposées.

Guide étape par étape :

  • Sélectionnez la plage cible : Comptez les lignes/colonnes de vos données sources (par ex., 7 colonnes × 2 lignes) et sélectionnez l'orientation opposée (2 colonnes × 7 lignes) dans la zone cible vide.
  • Entrez la formule : La plage étant sélectionnée, tapez =TRANSPOSE(
  • Sélectionnez vos données sources : Cliquez et faites glisser pour sélectionner la plage de données d'origine
  • Complétez en tant que formule matricielle : Appuyez sur « Ctrl+Maj+Entrée » (Excel 2019 et versions antérieures) ou simplement sur « Entrée » (Excel 365 et versions ultérieures)
  • Vos données sont maintenant transposées dynamiquement : Les modifications apportées à l'original se refléteront dans la version transposée

Excel TRANSPOSE function dynamic column to row conversion

Avantages et inconvénients :

  • ✔ Avantages : Mises à jour dynamiques, pas de retravail manuel, fonctionne avec la plupart des types de données (texte, nombres, dates).
  • ✘ Inconvénients : Impossible de modifier les cellules individuelles dans le tableau transposé ; erreur #PROPAGATION! si la plage cible n'est pas vide.

Méthode 3 : Power Query (idéal pour les grands ensembles de données)

Power Query (également appelé Get & Transform) est le puissant outil de transformation de données d'Excel — parfait pour transposer de grands ensembles de données, répéter la même transposition plusieurs fois ou nettoyer les données avant de les transposer.

Guide étape par étape :

  • Importer des données dans Power Query : Sélectionnez vos colonnes sources (par ex., A1:C7), allez dans « Données » > « À partir d'un tableau/d'une plage » (Excel créera un tableau si nécessaire)
  • Transposer les données : Dans l'éditeur Power Query, allez dans « Transformer » > « Transposer ». Vos colonnes se convertiront instantanément en lignes
  • Charger les données transposées : Cliquez sur « Accueil » > « Fermer et charger ». Excel collera les lignes transposées dans une nouvelle feuille de calcul (ou à l'emplacement de votre choix)

Transpose data via Excel Power Query

Avantages et inconvénients :

  • ✔ Avantages : Gère facilement les grands ensembles de données (plus de 1000 lignes/colonnes), répétable (actualisez en un clic si les données sources changent), préserve l'intégrité des données et nettoie les données simultanément.
  • ✘ Inconvénients : Courbe d'apprentissage légèrement plus abrupte pour les débutants, excessif pour les petites transpositions ponctuelles.

Conseil de pro : La combinaison de la transposition avec d'autres techniques de nettoyage de données, telles que la suppression des lignes vides et l'ajustement des types de données (par ex., la conversion de nombres en texte), garantit que les données restructurées sont peaufinées et prêtes pour l'analyse, les tableaux croisés dynamiques et le partage.


Méthode 4 : Macro VBA (automatiser les transpositions par lots)

Si vous devez intervertir automatiquement des données d'une colonne à une ligne dans Excel (par ex., pour plusieurs feuilles ou ensembles de données), utilisez une simple macro VBA. Cette méthode est idéale pour les utilisateurs avancés ou ceux qui répètent régulièrement la même tâche de transposition.

Guide étape par étape :

  • Ouvrez l'éditeur VBA : Appuyez sur « Alt+F11 » pour l'ouvrir.
  • Insérer un module : Faites un clic droit sur votre classeur dans l'explorateur de projets > Insérer > Module.

Insert module for VBA

  • Collez le code VBA : Copiez et collez le code suivant dans le module (personnalisez les plages si nécessaire) :
Sub TransposeColumnsToRows()
    Dim SourceRange As Range
    Dim DestinationCell As Range

    ' Définissez votre plage source (ajustez si nécessaire)
    Set SourceRange = ThisWorkbook.Sheets("Sheet1").Range("A1:C7")

    ' Définissez la cellule de destination qui est le coin supérieur gauche où les données transposées doivent aller (ajustez si nécessaire)
    Set DestinationCell = ThisWorkbook.Sheets("Sheet1").Range("E5")

    ' Transposer les données
    SourceRange.Copy
    DestinationCell.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _
                                 SkipBlanks:=False, Transpose:=True

    ' Vider le presse-papiers
    Application.CutCopyMode = False

    MsgBox "Transposition terminée !", vbInformation
End Sub
  • Exécutez la macro : Appuyez sur « F5 » ou cliquez sur le bouton « Exécuter » (icône de lecture verte). Une invite vous informera que les colonnes sont passées en lignes.

Change multiple columns to rows via VBA macro

Fonctionnalités clés de la macro

  • Conserve tout le formatage des cellules, les formules et les valeurs.
  • Réutilisable : Enregistrez la macro dans votre classeur de macros personnel pour l'utiliser dans tous les fichiers Excel.
  • Personnalisable : Modifiez le code pour parcourir plusieurs feuilles/ensembles de données (transposition par lots).

Avantages et inconvénients :

  • ✔ Avantages : Automatise les tâches par lots, gagne du temps pour les transpositions répétées et fonctionne avec de grands ensembles de données
  • ✘ Inconvénients : Nécessite des connaissances de base en VBA pour être modifié, pas nécessaire pour les tâches simples.

Méthode 5 : Python avec Free Spire.XLS (transposition programmatique)

Pour les développeurs et les analystes de données qui ont besoin de transposer des données sans ouvrir Excel (par ex., automatisation de serveur) ou de traiter par lots des centaines de fichiers, la bibliothèque Free Spire.XLS for Python offre un moyen puissant de manipuler Excel sur plusieurs plateformes (Windows/Mac/Linux).

Script de transposition Python

Utilisez le script ci-dessous pour transposer une colonne en une ligne (personnalisez les chemins/plages si nécessaire) :

from spire.xls import *
from spire.xls.common import *

# Créer une instance de classeur
workbook = Workbook()
# Charger un fichier Excel
workbook.LoadFromFile("input.xlsx")

# Obtenir la première feuille de calcul
worksheet = workbook.Worksheets[0]

# Lire toutes les données non vides et les styles de cellule correspondants de la colonne 1
col_index = 1
column_data = []

max_row = worksheet.LastRow

for row_index in range(1, max_row + 1):
    cell = worksheet.Range[row_index, col_index]
    if cell.Value is None or str(cell.Value).strip() == "":
        continue
    # Stocker la valeur de la cellule et son style (conserve le formatage comme la police, la couleur, etc.)
    column_data.append((cell.Value, cell.Style))
    row_index += 1

# Écrire les données de la colonne enregistrées (avec les styles) dans la ligne 3
target_row = 3
for idx, (value, source_style) in enumerate(column_data):
    target_col = idx + 3  # commencer à écrire à partir de la colonne 3
    target_cell = worksheet.Range[target_row, target_col]

    # Attribuer la valeur de la cellule d'origine à la cellule cible
    target_cell.Value = value
    # Copier le style de la cellule d'origine
    target_cell.Style = source_style

# Enregistrer le fichier Excel et libérer la mémoire
workbook.SaveToFile("output.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

print(f"Conversion de la colonne Excel en ligne terminée !")

Ce code lit toutes les données non vides (et leurs styles de cellule associés) d'une colonne spécifiée, puis écrit ces données de colonne dans la ligne cible de la même feuille de calcul.

Convert columns to rows via Python code

Avantages et inconvénients

  • ✔ Avantages : Multiplateforme, prise en charge du traitement en masse, préserve le formatage, aucune installation d'Excel requise, évolutif pour des centaines de fichiers.
  • ✘ Inconvénients : Nécessite des connaissances de base en Python, la version gratuite a certaines limitations, courbe d'apprentissage plus abrupte pour les non-codeurs.

Au-delà de la transposition de colonne en ligne, vous pouvez également utiliser Spire.XLS for Python pour appliquer un formatage, fusionner des cellules, trier des données ou exporter au format PDF/CSV — le tout par programmation.


Tableau comparatif : Choisir la bonne méthode

Méthode Idéal pour Dynamique ? Formatage conservé Excel requis Difficulté
Collage spécial Tâches ponctuelles rapides Oui Débutant
Fonction TRANSPOSE Rapports mis à jour en direct ✘ (valeurs uniquement) Oui Intermédiaire
Power Query Tâches volumineuses ou récurrentes ✔ (actualiser) Oui Intermédiaire
VBA Automatisation par lots ✔ (déclenché) Oui Avancé
Python + Spire.XLS Côté serveur / en masse ✔ (réexécuter le script) Non Avancé

FAQ : Intervertir les colonnes et les lignes dans Excel

Q : Puis-je transposer plusieurs feuilles à la fois ?

R : Oui ! Utilisez Power Query (pour combiner les feuilles d'abord) ou Python/Spire.XLS (parcourir les feuilles) pour la transposition par lots d'ensembles de données similaires. VBA peut également être modifié pour parcourir plusieurs feuilles.

Q : La transposition des données supprimera-t-elle mes colonnes d'origine ?

R : Non. Les cinq méthodes créent une copie de vos données dans la nouvelle orientation de ligne. Vos colonnes d'origine resteront intactes, sauf si vous les supprimez manuellement.

Q : Comment puis-je convertir des lignes en colonnes ?

R : Toutes les mêmes méthodes fonctionnent en sens inverse ! Le processus est identique quelle que soit la direction.

Q : Puis-je transposer des données entre différents classeurs ?

R : Oui. Toutes les méthodes prennent en charge la transposition entre classeurs. Pour VBA et Python, vous devrez spécifier correctement les chemins des classeurs.

Q : La méthode Python fonctionne-t-elle pour les fichiers .xlsx et .xls ?

R : Oui. Spire.XLS prend en charge les deux formats Excel (Pour le format .xls, utilisez : ExcelVersion.Version97to2003).


Réflexions finales

Maîtriser l'art de changer les colonnes en lignes dans Excel ouvre de nouvelles possibilités pour l'analyse et la présentation des données. Que vous choisissiez la simplicité du collage spécial, le dynamisme de la fonction TRANSPOSE, la puissance de Power Query, l'automatisation de VBA ou la flexibilité programmatique de Python avec Free Spire.XLS, vous disposez désormais d'une boîte à outils complète pour tout scénario de transposition.

Chaque méthode a ses points forts, et en intégrant ces techniques dans votre flux de travail de données, vous gagnerez du temps, réduirez les erreurs et bénéficierez d'une flexibilité sans précédent dans la manière dont vous travaillez avec les données.


Voir aussi