Bonjour,
Essayez avec cette macro voir si ça peut convenir
Sub Transposition()
Application.ScreenUpdating = False
With Range("A17:A40")
.Formula = "=OFFSET($F$3,INT((ROWS($3:3)-1)/COUNTA($F$3:$K$3)),MOD(ROWS($3:3)-1,COUNTA($F$3:$K$3)))"
.Value = .Value
End With
Range("A3").Copy
Range("B17:B22").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Range("A4").Copy
Range("B23:B28").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Range("A5").Copy
Range("B29:B34").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Range("A6").Copy
Range("B35:B40").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Range("F1:K1").Copy
Range("C17, C23, C29, C35").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Range("B3").Copy
Range("D17").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Range("D17").AutoFill Destination:=Range("D17:D22")
Range("C3").Copy
Range("E17").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Range("E17").AutoFill Destination:=Range("E17:E22")
Range("D17:D22").Copy
Range("D23, D29, D35").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("E17:E22").Copy
Range("E23, E29, E35").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub
Edit : rajout du fichier exemple, cliquez sur le bouton "GO"