Bonjour,

Je tente de réaliser une transposition de tableau avec un code VBA que j'ai modifié mais le résultat n'est pas probant. En fait, la première colonne (N° unité) et la deuxième colonne (N° séjour) sont verticales et les valeurs (dates correspondant à la durée du séjour sont organisées horizontalement). L'objectif étant que toutes ces données soient en colonne. Je précise que ce tableau est très long (+12000 lignes) et que pour chaque ligne le nombre de colonnes disposant d'une valeur varient en fonction de la durée du séjour.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub Transpose()
Sheets("TRANSPOSE").Cells.Clear
With Sheets("SELECTION BD")
NbCol = .Range("B1:" & .Range("IV1").End(xlToLeft).Address).Columns.Count
For Each X In .Range("A2:" & .Range("A65536").End(xlUp).Address)
    LigDest = Sheets("TRANSPOSE").Range("A65536").End(xlUp).Offset(1, 0).Row
    For Each Y In X.Offset(0, 1).Resize(1, NbCol)
        Sheets("TRANSPOSE").Cells(LigDest, 1) = X
        Sheets("TRANSPOSE").Cells(LigDest, 2) = Y
        LigDest = Sheets("TRANSPOSE").Range("A65536").End(xlUp).Offset(1, 0).Row
    Next
Next
End With
End Sub

Nom : Transposition tableau 2.jpg
Affichages : 3235
Taille : 189,5 Ko