Sub tete()
Dim rngBas As Range, rngRes As Range
Dim oCom&, oColD&, oColG&, oBloc&
Dim i&, colDec&
Set rngBas = ThisWorkbook.Worksheets("Base").Range("A1")
Set rngRes = ThisWorkbook.Worksheets("Résultat").Range("A1")
oCom = 66
oColG = 22
oColD = 42
oBloc = 9
colDec = oCom + oColG - 1
rngBas.Resize(1, oCom).Copy Destination:=rngRes
For i = 0 To oColD - oColG
rngBas.Resize(oBloc, oCom).Offset(1).Copy Destination:=rngRes.Offset(1 + oBloc * i)
rngBas.Resize(oBloc, 1).Offset(1, colDec + i).Copy Destination:=rngRes.Offset(1 + oBloc * i, oCom)
Next
rngRes.Parent.Cells.EntireColumn.AutoFit
End Sub
Sub tata()
Dim rngBas As Range, rngRes As Range
Dim oCom&, oColD&, oColG&, oBloc&
Dim i&
Set rngBas = ThisWorkbook.Worksheets("Base").Range("A1")
Set rngRes = ThisWorkbook.Worksheets("Résultat").Range("A1")
oCom = 66
oColG = 22
oColD = 42
oBloc = 9
rngBas.Resize(1, oCom).Copy Destination:=rngRes
For i = 0 To oColD - oColG
rngBas.Resize(oBloc, oCom).Offset(1).Copy Destination:=rngRes.Offset(1 + oBloc * i)
rngBas.Resize(oBloc, 1).Offset(1, oCom + oColG - 1 + i).Copy Destination:=rngRes.Offset(1 + oBloc * i, oCom)
Next
rngRes.Parent.Cells.EntireColumn.AutoFit
End Sub
Sub tutu()
Dim rngBas As Range, rngRes As Range
Dim oCom&, oColD&, oColG&, oBloc&
Dim i&
Set rngBas = ThisWorkbook.Worksheets("Base").Range("A1")
Set rngRes = ThisWorkbook.Worksheets("Résultat").Range("A1")
oCom = 66
oColG = 22
oColD = 42
oBloc = 9
rngBas.Resize(1, oCom).Copy Destination:=rngRes
For i = oColG - 1 To oColD - 1
rngBas.Resize(oBloc, oCom).Offset(1).Copy Destination:=rngRes.Offset(1 + oBloc * (i - oColG + 1))
rngBas.Resize(oBloc, 1).Offset(1, oCom + i).Copy Destination:=rngRes.Offset(1 + oBloc * (i - oColG + 1), oCom)
Next
rngRes.Parent.Cells.EntireColumn.AutoFit
End Sub