Re : Transposition d'un tableau par macro (lignes en colonnes)
Bonsoir Le Forum,
Chers amis,
Je viens vous donner ma solution : je viens de la trouver !
La macro ci-après fonctionne à merveille.
Merci encore pour votre soutien, principalement à Laetitia90, à Staple1600 et à Victo21.
A bientôt pour un autre défi sur le Forum,
Bien cordialement
Webperegrino
Sub TriBasGauche() 'tri liste b
Application.ScreenUpdating = False
'*** Tri des lignes ***
Dim i As Integer
For i = 2 To 31
Range(Cells(i, 5), Cells(i, 29)).Select
Selection.Sort Key1:=Cells(i, 5), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
Next i
'*** Transpose les lignes en colonnes ***
With Feuil8 'Feuille ListB - Staple1600
.[D2:AC31].Copy
With .[E33]
.PasteSpecial Paste:=-4123, Transpose:=True
.PasteSpecial Paste:=-4122, Transpose:=True
End With
End With
' Range("D2:AC31").Copy 'Merci Victor21
' Range("E33").PasteSpecial Paste:=xlPasteValues, Transpose:=True
'Dim t: t = [D2:AC31] 'Merci Staple1600
'With Application
' .ScreenUpdating = False
' [E33].Resize(UBound(t), UBound(t)) = .Transpose(t)
'End With
'Application.ScreenUpdating = False ' Merci Laetitia90
'Range("d2:ac31").Copy
' With Sheets(1).Range("e33")
' .PasteSpecial Paste:=xlPasteFormulas, Transpose:=True
' .PasteSpecial Paste:=xlPasteFormats, Transpose:=True
' End With
'Application.CutCopyMode = FalseRange("D1").Select
Application.ScreenUpdating = True
End Sub