Bonjour,
Vous utilisez Excel 2016, alors pourquoi enregistrer le fichier en ".Xls", au lieu de ".Xlsm"? De toute manière, vous serez obligé de convertir en "Xlsm" car ce que vous demandez, "la transposition horizontale" des données de la feuille "Sheet" ne passera pas, vu que le nombre de colonnes en ".xls" n'excède pas 255 (colonnes), or il vous en faut bien plus.
Ensuite je n'ai pas compris les calculs en dessous de chaque tableau, si vous pouviez réexpliquer.
le code:
Sub Importer()
Dim f1 As Worksheet, f2 As Worksheet
Dim i As Long, Nb_Pers As Long, DerLig As Long, Col As Long
Application.ScreenUpdating = False
Set f1 = Sheets("sheet")
Set f2 = Sheets("Feuil1")
'effacement des précédentes importations
f2.Select
For Each img In ActiveSheet.Shapes
If Left(img.Name, 7) = "Picture" Then img.Delete
Next
f2.Range("D1:PK30").Clear
DerLig = f1.Range("A" & Rows.Count).End(xlUp).Row - 9
Col = 4
Nb_Pers = f2.Range("A1").End(xlDown).Row - 1
For i = 1 To DerLig - Nb_Pers Step Nb_Pers + 5
Range(f1.Cells(i, "A"), f1.Cells(i + Nb_Pers + 4, "H")).Copy f2.Cells(1, Col)
Col = Col + 8
Next i
Set f1 = Nothing
Set f2 = Nothing
End Sub
le fichier
Cdlt