Private Sub Cb_Facture_Click()
Dim Nom As Range, Lig As Long, Rep As Integer, i As Long
Rep = MsgBox("Veuillez confirmer.", vbQuestion + vbYesNo, "Faire les calculs?")
If Rep = vbNo Then Exit Sub
Application.ScreenUpdating = False
'on efface les factures existantes
If Sheets.Count > 3 Then
Application.DisplayAlerts = False
For i = Sheets.Count To 4 Step -1
Sheets(i).Delete
Next
Application.DisplayAlerts = True
End If
Sheets("model facture").Visible = True
'pour chaque nom de la cellule A9 à la dernière cellule non vide colonne A.
For Each Nom In Range("A9", [A8].End(xlDown))
Lig = Nom.Row
' On Error Resume Next
'ici on test si la feuille existe. Elle est créée dans le cas contraire.
' Sheets(Lig - 8 & " Fact " & Nom.Value & Left(Range("B" & Lig).Value, 1)).Activate
' If Err.Number <> 0 Then
Sheets("model facture").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Lig - 8 & " Fact " & Nom.Value & Left(Range("B" & Lig).Value, 1)
' End If
' On Error GoTo 0
With Sheets(Lig - 8 & " Fact " & Nom.Value & Left(Range("B" & Lig).Value, 1))
'copie vers la facture
'Lig correspond à la ligne du nom de la feuille "Commande"
.[G4].Value = Range("A" & Lig).Value
.[G5].Value = Range("B" & Lig).Value
.[A10].Value = [B3].Value
.[B15].Value = Range("G" & Lig).Value
.[B17].Value = Range("H" & Lig).Value
.[B19].Value = Range("I" & Lig).Value
.[B25].Value = Range("N" & Lig).Value
.[B30].Value = Range("S" & Lig).Value
.[D21].Value = Range("T" & Lig).Value
End With
Next Nom
Application.ScreenUpdating = True
Sheets("model facture").Visible = False
Sheets("Commande").Activate
End Sub