Bonjour Jess,
Bonjour jmd,
parce que je suis un vieux dinosaure qui apprécie toujours son papier et son crayon... et qui ne pourrait pas faire autrement, de toute façon!
Private Sub cmdGO_Click()
'
Dim tTabO, tTabF()
'
iRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("A2:O" & iRow).Sort key1:=Range("A2"), order1:=xlAscending
tTabO = Range("A2:O" & iRow)
'
For x = 1 To UBound(tTabO, 1)
If tTabO(x, 1) <> sFlag Then
sFlag = tTabO(x, 1)
iIdx = iIdx + 1
ReDim Preserve tTabF(4, iIdx)
tTabF(0, iIdx - 1) = tTabO(x, 1)
tTabF(1, iIdx - 1) = tTabO(x, 2)
tTabF(2, iIdx - 1) = tTabO(x, 3)
tTabF(3, iIdx - 1) = CDbl(tTabO(x, 15))
Else
tTabF(3, iIdx - 1) = tTabF(3, iIdx - 1) + CDbl(tTabO(x, 15))
End If
Next
With Worksheets("Recap")
.UsedRange.Delete
.Range("A2:D" & iIdx + 1) = WorksheetFunction.Transpose(tTabF)
iRow = .Cells(Rows.Count, 1).End(xlUp).Row
.Cells(1, 1) = "Référence"
.Cells(1, 2) = "Libellé"
.Cells(1, 3) = "Fabrication"
.Cells(1, 4) = "Quantité +"
.Range("A1:D1").Interior.Color = RGB(215, 215, 215)
.UsedRange.Borders.LineStyle = 1
.Activate
End With
'
End Sub
Bon travail!
A+