Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Transposer des données en colonne en lignes

  • Initiateur de la discussion Initiateur de la discussion nono555
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nono555

XLDnaute Occasionnel
Bonjour,

Je cherche une solution à mon problème :

J'ai un tableau excel de cette forme :

NOM 2000 2001 2002
AAA 1 2 3
BBB 4 5 6
CCC 7 8 9

et je veux obtenir ça :

NOM ANNEE RESULTAT
AAA 2000 1
AAA 2001 2
AAA 2002 3
BBB 2000 4
BBB 2001 5
BBB 2002 6
CCC 2000 7
CCC 2001 8
CCC 2002 9

Comment je peux faire ?

Merci d'avance de votre aide.

Nono555
 
Re : Transposer des données en colonne en lignes

Bonjour,

C'est faisable par formules en se référant aux numéros de lignes, mais pour ce faire, et ne pas devoir recommencer, il faudrait préciser les adresses des cellules contenant AAA dans le tableau source et dans le tableau des résultats.
 
Re : Transposer des données en colonne en lignes

Bonjour,

Tu sélectionnes ta plage de données que tu veux transposer, tu la copies, puis dans l'onglet ACCUEIL, tu vas dans collage > collage spécial, tu coches "transposé" en bas à droite, et tu colles! Aussi simple que ça 😉

Bonne journée!
 
Re : Transposer des données en colonne en lignes

Merci pour vos réponses mais le collage spécial transposé ne répond pas du tout à mon besoin.

Si quelqu'un d'autre a la solution, je suis preneur.

Merci encore en tous cas.

Nono555
 
Re : Transposer des données en colonne en lignes

Bonjour nono555 , Thoniau, Salut hoerwind 🙂,
Une proposition par macro:
VB:
Private Sub CommandButton1_Click()
Dim Tablo(), Col&, Rw&, i&, j&, k&
With Sheets("Feuil1")
    Col = .Cells(1, Columns.Count).End(xlToLeft).Column - 1
    Rw = .Cells(Rows.Count, 1).End(xlUp).Row
    ReDim Tablo(1 To (Rw * Col) + 1, 1 To 3)
    For i = 2 To Rw
        For j = 2 To Col + 1
        k = k + 1
            Tablo(k, 1) = .Cells(i, 1)
            Tablo(k, 2) = .Cells(1, j)
            Tablo(k, 3) = .Cells(i, j)
        Next j
    Next i
End With
Cells(2, 1).Resize(UBound(Tablo, 1), 3) = Tablo
End Sub
Cordialement
 

Pièces jointes

Re : Transposer des données en colonne en lignes

Bonjour a tous,
j'ai le même problème mais de l'autre sens, je suis bloqué a cause de ça, si quelqu'un a une solution je lui serai très reconnaissant.
merci d'avance.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
898
Réponses
6
Affichages
160
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
665
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…