Re : Mettre en colonne les données d'un tableau type croisé
Bonsoir Mapomme,
Merci beaucoup de ton aide, c'est exactement cela. Est il possible que tu m'expliques le fonctionnement de ta macro ?
Sub Deplier()
Dim N, i, ii, j, jj, Plage As Range, Courant As Range
Dim Tablo(), Resultat() ->
A quoi sert Tablo() et Resultat()
Application.ScreenUpdating = False
With Sheets("Données")
i = .Cells(Rows.Count, "a").End(xlUp).Row ->
.cell sert à quoi ? rows.count (ca compte le nb de lignes) ? la combinaison .Cells(Rows.Count, "a") sert à quoi ?
Set Plage = .Range("A3:BU" & i) ->
.range veut dire quoi ? est ce la produit du nb de ligne par le nb de colonnes afin d'avoir la taille du tableau final ?
Tablo = Plage.Value ->
est ce le nb de ligne ?
End With
ii = UBound(Tablo, 1): jj = UBound(Tablo, 2): N = 1 ->
aie je ne comprends pas...
ReDim Resultat(1 To (jj - 1) * (ii - 2), 1 To 4)
aie je ne comprends pas à partir de là...
Range("A3
" & Rows.Count).ClearContents
For j = 2 To jj
For i = 3 To ii
Resultat(N, 1) = Tablo(i, 1)
Resultat(N, 2) = Tablo(1, j)
Resultat(N, 3) = Tablo(2, j)
Resultat(N, 4) = Tablo(i, j)
N = N + 1
Next i
Next j
Range("a3").Resize((jj - 1) * (ii - 2), 4).Value = Resultat
Application.ScreenUpdating = True
End Sub
Merci encore MaPomme !!!