cibleo
XLDnaute Impliqué
Bonsoir le forum
Dans le code ci-dessous, la variable tableau (A) est transposée en ligne.
Voir ce que j'obtiens en Feuil1 ainsi que le résultat souhaité : transposer par blocs de 5 cellules.
En Feuil2, dans un autre exemple, je parviens à transposer par blocs de 5 avec la macro ci-dessous (trouvé sur le net) :
Je ne parviens pas à l'adapter dans mon 1er code, à l'appliquer sur la variable (A)
(Si possible en gardant la structure du 1er code).
Pouvez-vous m'aider, Cibleo
Dans le code ci-dessous, la variable tableau (A) est transposée en ligne.
Voir ce que j'obtiens en Feuil1 ainsi que le résultat souhaité : transposer par blocs de 5 cellules.
Code:
'renvoi les données
Feuil1.Cells(i + 2, "D").Offset(, 1).Resize(, UBound(A)) = Application.Transpose(Application.Transpose(A))
VB:
Sub Transposer()
Application.ScreenUpdating = False
Set dico = CreateObject("Scripting.Dictionary")
For Each c In Feuil1.Range("A2:A" & Feuil1.Range("A" & Rows.Count).End(xlUp).Row)
temp = c.Value
dico(temp) = dico(temp) & c.Offset(, 1) & ";"
Next c
B = dico.keys
For i = LBound(B) To UBound(B)
Feuil1.Cells(i + 2, "D") = B(i)
A = Split(dico.Item(B(i)), ";")
'renvoi les données
Feuil1.Cells(i + 2, "D").Offset(, 1).Resize(, UBound(A)) = Application.Transpose(Application.Transpose(A))
Next i
Feuil1.Range("D1") = "Pointures"
Feuil1.Range("E1") = "Noms"
Application.ScreenUpdating = True
End Sub
En Feuil2, dans un autre exemple, je parviens à transposer par blocs de 5 avec la macro ci-dessous (trouvé sur le net) :
VB:
Sub Transposer_par_5()
sq = Feuil2.Range("A2:A25")
sn = Cells(1, 20).Resize(UBound(sq) \ 5 + 1, 5)
For j = 1 To UBound(sq)
sn((j - 1) \ 5 + 1, (j - 1) Mod 5 + 1) = sq(j, 1)
Next
Feuil2.Cells(2, 3).Resize(UBound(sq) \ 5 + 1, 5) = sn
Feuil2.Cells(1, 3) = "Noms"
End Sub
Je ne parviens pas à l'adapter dans mon 1er code, à l'appliquer sur la variable (A)
(Si possible en gardant la structure du 1er code).
Pouvez-vous m'aider, Cibleo