Option Explicit
Sub TestFact()
If ActiveSheet.Name <> "ENCAISSEMENT" Then Exit Sub
Dim cel As Range, lg1 As Byte, lg2 As Byte
lg1 = 6: Application.ScreenUpdating = 0
With Worksheets("Facture")
.[A14].Resize(16, 6).ClearContents
For lg1 = 6 To 21
Set cel = Cells(lg1, 6): If cel = "" Then Exit For
lg2 = lg1 + 8: .Cells(lg2, 1) = cel 'Désignation
.Cells(lg2, 4) = cel.Offset(, -1) 'Quantité
.Cells(lg2, 6) = cel.Offset(, 1) 'Prix
Next lg1
.Select
End With
End Sub