Option Explicit
Const BaseProduit = "A3"
Const BaseClient = "E3"
Const BaseCopie = "G3"
Sub recopier()
Dim Produit As Range, Client As Range, CopierVers As Range, xcell As Range
Application.ScreenUpdating = False
Set Produit = Range(BaseProduit).End(xlDown)
Set Produit = Range(Range(BaseProduit).Offset(1), Produit).Resize(, 3)
Set Client = Range(BaseClient).End(xlDown)
Set Client = Range(Range(BaseClient).Offset(1), Client)
Set CopierVers = Range(BaseCopie)
Range(CopierVers, CopierVers.End(xlDown).Offset(, 3)).Clear
CopierVers.Value = Range(BaseClient)
CopierVers.Offset(, 1).Resize(, 3).Value = Range(BaseProduit).Resize(, 3).Value
CopierVers.Resize(, 4).Interior.Color = RGB(200, 200, 200)
Set CopierVers = CopierVers.Offset(1)
For Each xcell In Client
CopierVers.Resize(Produit.Rows.Count).Value = xcell
CopierVers.Offset(, 1).Resize(Produit.Rows.Count, 3).Value = Produit.Value
CopierVers.Resize(Produit.Rows.Count, 4).Interior.Color = xcell.Interior.Color
CopierVers.Offset(, 3).Resize(Produit.Rows.Count).NumberFormat = _
"_-[$$-1009]* #,##0.00_-;-[$$-1009]* #,##0.00_-;_-[$$-1009]* ""-""??_-;_-@_-"
Set CopierVers = CopierVers.Offset(Produit.Rows.Count)
Next xcell
Application.ScreenUpdating = True
End Sub