Bon j'ai trouvé,
dans ma feuille "facture" la cellule b de la dernière ligne était vide seul la cellule A était complété , ça reprenais donc un peu plus haut.
j'ai simplement transformé en:
Sub imprimefacture()
Sheets("facture" ).Range("A1:F55" ).Copy Destination:=Sheets("recafacture" ).Cells(Sheets("recafacture" ).Range("a65536" ).End(xlUp).Row + 1, 1)
ActiveSheet.PrintOut Copies:=1
Range("E4" ).Value = Range("E4" ).Value + 1
Range("B15:B18" ).ClearContents
Range("A21:C42" ).ClearContents
Range("F21:F42" ).ClearContents
End Sub
Et ça marche, c'est magique;;; encore quelques petites améliorations, histoire de s'amuser un peu
merci quand même