Sub archiverfactures()
Application.ScreenUpdating = False
Dim NbLig&, Ligne&
NbLig = Application.Match("TOTAL H.T", Range("C:C"), 0)
If Worksheets("HISTORIQUE_FACTURE").Range("Tableau4").Item(1, 1) <> "" Then _
    Ligne = Worksheets("HISTORIQUE_FACTURE").Range("Tableau4").Rows.Count + 2 Else Ligne = 2
With Sheets("FACTURE")
    Sheets("HISTORIQUE_FACTURE").Range("A" & Ligne).Value = .Range("B17").Value         'N° Facture
    Sheets("HISTORIQUE_FACTURE").Range("B" & Ligne).Value = .Range("C7").Value          'Date Facture
    Sheets("HISTORIQUE_FACTURE").Range("C" & Ligne).Value = .Range("B11").Value         'Nom du client
 
    'Je ne sais pas ou se trouve le n° d'affaire ????
    Sheets("HISTORIQUE_FACTURE").Range("E" & Ligne).Value = .Range("D" & NbLig).Value   'Affaire ??
 
    Sheets("HISTORIQUE_FACTURE").Range("F" & Ligne).Value = .Range("D39").Value         'Montant HT
    Sheets("HISTORIQUE_FACTURE").Range("G" & Ligne).Value = .Range("D40").Value         'TVA
    Sheets("HISTORIQUE_FACTURE").Range("H" & Ligne).Value = .Range("D41").Value         'Montant TTC
    Sheets("HISTORIQUE_FACTURE").Range("I" & Ligne).Value = .Range("D42").Value         'Accompte
    Sheets("HISTORIQUE_FACTURE").Range("I" & Ligne).Value = .Range("D43").Value         'Net à payer
    'Nettoyage facture
    .[C7,B11,D42].ClearContents
    .Range("A20:C" & NbLig - 2).ClearContents
 
    'Preparation nouveau N° de facture
    .Range("B17").Value = .Range("B17").Value + 1
End With
'Remise en place de la facture normalisée
Dim NbLigSup&
If NbLig > 39 Then NbLigSup = NbLig - 20: Rows("20:" & NbLigSup).Delete shift:=xlUp
End Sub