Bonjour,
Une petite amélioration du code n'est pas du luxe !
Sub Transfert()
Dim T(), n%, i%, j%
With ActiveSheet
For i = 11 To 26
If Not IsEmpty(.Cells(i, 2)) And .Cells(i, 2) = 0 Then
n = n + 1: ReDim Preserve T(3 To 13, 1 To n)
For j = 3 To 7
If .Cells(i, j) <> "" Then T(j, n) = .Cells(i, j)
Next j
For j = 9 To 14
If .Cells(i, j) <> "" Then T(j - 1, n) = .Cells(i, j)
Next j
End If
Next i
.Range("G11:G26") = 0
End With
With Workbooks("Devis.xlsm").Sheets(1)
n = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
.Range("B" & n).Resize(UBound(T, 2), 11).Value = WorksheetFunction.Transpose(T)
End With
End Sub
Pour ne pas avoir de gras, il suffit de ne pas copier-coller ! On pouvait aussi faire un collage special, mais à quoi bon, en ne copiant pas c'est plus rapide !
A tester (des fois que j'aurais loupé une particularité... pour mémoire on transfère colonnes C à N en sautant la H).
Cordialement.