XL 2016 Transposition d'un tableau à double entrée.... Macro ?

jozerebel

XLDnaute Occasionnel
Bonsoir à tous !

Besoin de votre aide...

J'ai un tableau à double entrée avec des mois en colonne et des organismes en lignes.
Afin de le retraiter avec un tableau croisée dynamique, j'ai besoin de transposer ce tableau comme indiqué dans la PJ....

Et je sèche...

D'avance merci pour votre aide précieuse ! :)
 

Pièces jointes

  • xlsdl2.xlsx
    12.9 KB · Affichages: 10

vgendron

XLDnaute Barbatruc
Hello

une solution par macro
VB:
Sub Transposer()
Dim TabInit() As Variant
Dim TabFinal() As Variant
With Sheets("Initial")
    Lastline = .Range("A" & .Rows.Count).End(xlUp).Row
    LasCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
    '.Range("A1").Resize(Lastline, LasCol).Select
    TabInit = .Range("A1").Resize(Lastline, LasCol).Value
    ReDim TabFinal(1 To UBound(TabInit, 1) * UBound(TabInit, 2), 1 To 4)
End With
indi = 1
For i = LBound(TabInit, 1) + 1 To UBound(TabInit, 1)
    TabFinal(indi, 1) = TabInit(i, 1)
    TabFinal(indi, 2) = TabInit(i, 2)
    For j = 3 To UBound(TabInit, 2)
        TabFinal(indi, 4) = TabInit(i, j)
        TabFinal(indi, 3) = TabInit(1, j)
        indi = indi + 1
        TabFinal(indi, 1) = TabInit(i, 1)
        TabFinal(indi, 2) = TabInit(i, 2)
    Next j
    
Next i
Sheets("Souhait").Range("A2").Resize(UBound(TabFinal, 1), UBound(TabFinal, 2)) = TabFinal
End Sub
 

Discussions similaires

Réponses
5
Affichages
96
Haut Bas