Sub Transposer()
Dim s As Range, d As Range, ncol%, h&
Set s = [A3] '1ère cellule source
Set d = [G8] '1ère cellule de destination
ncol = 3 'nombre de colonnes du tableau source
d.Resize(Rows.Count - d.Row + 1, Columns.Count - d.Column + 1).ClearContents 'RAZ
h = Columns(s.Column).Resize(, ncol).Find("*", , xlValues, , xlByRows, xlPrevious).Row - s.Row + 1
If h < 1 Then Exit Sub
If h + d.Column - 1 > Columns.Count Then MsgBox "On sort de la feuille...": Exit Sub
d.Resize(ncol, h) = Application.Transpose(s.Resize(h, ncol))
End Sub