Transposer colonnes en lignes en conservant les lignes initiales

Bonjour à tous,

Je cherche à savoir comment transposer des colonnes (dans mon cas des colonnes qui renseignent des CA par mois) en lignes en conservant les lignes initiales.

De ce fait, le nombre de lignes est multiplié par le nombre de colonnes transposées en lignes.

Ma copie d'écran avec tableau 1 (tableau initial) et tableau 2 (tableau souhaité) explicitera ma demande.

Un grand merci d'avance.

Steve

image

Bonjour à tous !

Avec Power Query (complément Microsoft gratuit à installer pour Excel 2013. Nativement intégré à partir d'Excel 2016) en quelques clics vous obtenez le résultat attendu.

Si besoin, merci de joindre un fichier (pas une image !), anonymisé mais représentatif.

Bonjour,
Une proposition VBA + TCD !?
Cdlt.

6stevesteve.xlsm (27.46 Ko)
Option Explicit

Public Sub ConsolidateData()
Dim lo As ListObject, lo2 As ListObject
Dim r As Range
Dim tbl As Variant, arr() As Variant
Dim I As Long, J As Long, k As Long

    Set lo = Worksheets("Input").ListObjects("T_Data")
    Set lo2 = Worksheets("Output").ListObjects("T_CA")

    With lo2
        If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
        Set r = .InsertRowRange.Cells(1)
    End With

    tbl = lo.Range.Value

    For I = 2 To UBound(tbl)
        For J = 3 To UBound(tbl, 2)
            If tbl(I, J) <> "" Then
                ReDim Preserve arr(4, k + 1)
                arr(0, k) = tbl(I, 1)
                arr(1, k) = tbl(I, 2)
                arr(2, k) = tbl(1, J)
                arr(3, k) = tbl(I, J)
                k = k + 1
            End If
        Next J
    Next I

    If k > 0 Then r.Resize(k, 4).Value = Application.Transpose(arr)

    With Worksheets("Output")
        .PivotTables("PT_1").RefreshTable
        .Activate
        .Cells(1).Select
    End With

End Sub

Bonjour Jean-Eric,

Je n'avais pas vu ta réponse. Un grand merci pour tout aide. T'es super !

Steve

Bonjour,
Merci pour ce retour.
Cdlt

Rechercher des sujets similaires à "transposer colonnes lignes conservant initiales"