'   **************************************************
'   ******     Code Formulaire Frm_Récap_Doc      ******
'   **************************************************
Private Sub UserForm_Initialize()
Dim Type_Feuil As String
' Récupération des données dans la feuille Facture.
    Sheets("Facture").Select
    
    Saisie_Type_Feuil = Format(Range("o4"), "000")
        Frm_Recap_Doc.Saisie_Type_Feuil.AddItem Trim([O4].Value)
        
        Saisie_Id_Client = Range("Z85").Value
        Saisie_Réf_Com = Range("Réf_Com").Value
        Saisie_Time = Time
        Saisie_Date1 = Trim(Format([N14].Value, "ddd-dd-mmm-yy"))
        Saisie_Date2 = Trim(Format([L72].Value, "ddd-dd-mmm-yy"))
        Saisie_Tél = Trim(Format([E17].Value, "00"" ""00"" ""00"" ""00"" ""00"))
        Saisie_Fax = Trim(Format([H17].Value, "00"" ""00"" ""00"" ""00"" ""00"))
        Saisie_HT = [T56]
        Saisie_TVA = [T62]
        Saisie_TTC = [T63]
        Saisie_Acompte = [T64]
        Saisie_Réf_Acompte = [I58]
        Saisie_Date_Acomp = Trim(Format([K58].Value, "dd-mm-yy"))
        Saisie_Reste_Du = [T65]
        Saisie_Solde_Par = [N69]
        Saisie_Date_Solde = Trim(Format([L72].Value, "dd-mm-yy"))
        
    If [S40] = "Devis" Then
        TextNumFacture.Caption = "N° du Devis :"
        TextDateFacture.Caption = "Date du Devis :"
        TextRéfCom.Caption = "Objet du Devis :"
        TextDétailFact.Caption = "Détail du Devis :"
    End If
    
        If [S40] = "Facture" Then
        TextNumFacture.Caption = "N° de Facture :"
        TextDateFacture.Caption = "Date de la Facture :"
        TextRéfCom.Caption = "Objet de la Facture :"
        TextDétailFact.Caption = "Détail de la Facture :"
    End If
    
End Sub
Private Sub BoutonAnnuler_Click()
        Unload Me
    
End Sub
Private Sub BoutonValider_Click()
Dim Type_Feuil As String
Dim la_ligne As Long: Dim nom_fichier As String
Dim lid As Integer: Dim num_com As Long: Dim Num_Fact As String
    Sheets("Facture").Select
    
        'vNumFact = Range("O4")
        vNumFact = Saisie_Type_Feuil
        vCommandeFac = Saisie_Réf_Com
        vDate1Fac = Trim(Saisie_Date1)
        vHeure = Trim(Saisie_Time)
        vNomClientFact = Trim(Saisie_Nom_Client) & " " & Trim(Saisie_Prenom_Client)
        vHTFact = Trim(Saisie_HT)
        vTTCFact = Trim(Saisie_TTC)
        vTVAFact = Trim(Saisie_TVA)
      
' Détection de la Facture ou Devis
    If [U34] = 1 Then
        [W20] = "Oui"
    End If
    If [U36] = 1 Then
        [W21] = "Oui"
    End If
    
' Détection d'une Facture ou d'un Devis
    If [U34] = 1 Then
        Sheets("Save Devis").Select    ' Sélection de la feuille Save Devis.
        nom_fichier = Format(Saisie_Id_Client, "000") & "_" & "Devis_" & vNumFact & ".pdf"
        Type_Feuil = "Devis_"
        GoTo Données
    End If
    If [U36] = 1 Then
        Sheets("Save Facture").Select    ' Sélection de la feuille Save Facture.
        nom_fichier = Format(Saisie_Id_Client, "000") & "_" & "Fact_" & vNumFact & ".pdf"
        Type_Feuil = "Fact_"
        GoTo Données
    End If
Données:
' Sélection de la première cellule vide dans la colonne B.
    If ActiveSheet.[B4] = "" Then
        ActiveSheet.[B4].Select
    Else
        ActiveSheet.Range("B3").End(xlDown).Offset(1, 0).Select
    End If
    ' Ecriture des données dans la première rangée vide.
    With ActiveCell
            .Value = Type_Feuil & vNumFact
            .Offset(0, 1).Value = Format(Saisie_Id_Client, "000")
            .Offset(0, 2).Value = UCase(vNomClientFact)
            .Offset(0, 3).Value = vDate1Fac & " - " & Time    ' Now
            .Offset(0, 4).Value = vHTFact
            .Offset(0, 5).Value = vTVAFact
            .Offset(0, 6).Value = vTTCFact
            .Offset(0, 7).Value = nom_fichier
    End With
    
' Sélection de la première cellule vide dans la colonne B.
    If ActiveSheet.[B5] = "" Then
        ActiveSheet.[B5].Select
    Else
        ActiveSheet.Range("B4").End(xlDown).Offset(1, 0).Select
    End If
   MsgBox Saisie_Id_Client
    
 ' Sauvegarde du devis
    If [U34] = 1 Then
            MsgBox "Le devis N° " & vNumFact - 1 & " a bien été validé et archivé.", vbOKOnly + vbInformation, "Archivage devis réussie"
    End If
' Sauvegarde de la facture
    If [U36] = 1 Then
            MsgBox "La facture N° " & vNumFact - 1 & " a bien été validée et archivée.", vbOKOnly + vbInformation, "Archivage facture réussie"
    End If
    
       faire_facture num_com, nom_fichier  ' Recopie de la facture ou du devis dans la feuille Reflet
End Sub
Private Sub faire_facture(num_com As Long, nom_fichier As String)
    
    Application.ScreenUpdating = False
    MsgBox "J'archive"
' Détection d'une facture ou d'un devis
    Sheets("Facture").Select
    
    If [U34] = 1 Then
        nom_fichier = Range("Y85") & "_" & "Devis_" & vNumFact & ".pdf"
    End If
    
    If [U36] = 1 Then
        nom_fichier = Range("Y85") & "_" & "Fact_" & vNumFact & ".pdf"
        'nom_fichier = Sheets("Facture").Range("O4") & "_" & "Fact_" & vNumFact & ".pdf"
    End If
    
    
    Sheets("Reflet").Select
    Sheets("Reflet").Range("D20:O55").Clear ' = ""      ' Effacement de la commande
    Sheets("Reflet").Range("E57:L64") = ""              ' Effacement condition de paiement
    Sheets("Reflet").Range("O56:O66").Clear ' = ""      ' Effacement du calcul
    Sheets("Reflet").Range("N69") = ""                  ' Effacement du solde
    Sheets("Reflet").Range("J72:N72") = ""              ' Effacement de la date
' Copie des commandes
    Sheets("Facture").Select
    Range("D20:O55").Select
    Range("D20:O55").Copy
    Sheets("Reflet").Select
    Range("D20").Select
    ActiveSheet.Paste
    Range("D12").Select
    Application.CutCopyMode = False
    
' Copie des calcul Montant de la facture
    Sheets("Facture").Select
    Range("O56:O66").Copy
    Sheets("Reflet").Select
    Range("O56").Select
    Range("O56:O66").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("C12").Select
    
    Mise_en_Forme
    
' Copie moyen paiement
    Sheets("Facture").Select
    Range("E57:L64").Select
    Range("E57:L64").Copy
    Sheets("Reflet").Select
    Range("E57").Select
    Range("E57:L64").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("D57").Select
    
' Copie du solde
    Sheets("Facture").Select
    Range("N69").Select
    Range("N69").Copy
    Sheets("Reflet").Select
    Range("N69").Select
    Range("N69").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    
' Copie date
    Sheets("Facture").Select
    Range("J72:N72").Select
    Range("J72:N72").Copy
    Sheets("Reflet").Select
    Range("J72:K72").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
' Effacement des données Client
    Sheets("Reflet").Range("O4").Value = ""
    Sheets("Reflet").Range("E14").Value = ""
    Sheets("Reflet").Range("H14").Value = ""
    Sheets("Reflet").Range("E15").Value = ""
    Sheets("Reflet").Range("E16").Value = ""
    Sheets("Reflet").Range("G16").Value = ""
    Sheets("Reflet").Range("E17").Value = ""
    Sheets("Reflet").Range("H17").Value = ""
' Effacement des données Société
    Sheets("Reflet").Range("N14").Value = ""
    Sheets("Reflet").Range("N15").Value = ""
    Sheets("Reflet").Range("N16").Value = ""
    Sheets("Reflet").Range("N17").Value = ""
' Copie des données Client
    Sheets("Reflet").Range("O4").Value = Sheets("Facture").Range("O4").Value        ' Numéro de la facture ou du devis
    Sheets("Reflet").Range("E14").Value = Sheets("Facture").Range("E14").Value      ' Nom du client
    Sheets("Reflet").Range("H14").Value = Sheets("Facture").Range("H14").Value      ' Prénom du client
    Sheets("Reflet").Range("E15").Value = Sheets("Facture").Range("E15").Value      ' Adresse du client
    Sheets("Reflet").Range("E16").Value = Sheets("Facture").Range("E16").Value      ' CP du client
    Sheets("Reflet").Range("G16").Value = Sheets("Facture").Range("G16").Value      ' Ville du client
    Sheets("Reflet").Range("E17").Value = Sheets("Facture").Range("E17").Value      ' Tèl du client
    Sheets("Reflet").Range("H17").Value = Sheets("Facture").Range("H17").Value      ' Fax du client
    
' Copie des données Société
    Sheets("Reflet").Range("N14").Value = Sheets("Facture").Range("N14").Value      ' Date de création de la facture ou du devis
    Sheets("Reflet").Range("N15").Value = Sheets("Facture").Range("N15").Value      ' Type de travail effectué
    Sheets("Reflet").Range("N16").Value = Sheets("Facture").Range("N16").Value      ' Responsable du chantier
    Sheets("Reflet").Range("N17").Value = Sheets("Facture").Range("N17").Value      ' FAB lieu de dépot des marchandises
 
     MsgBox "La commande a bien été validée." & Chr(10) & "Le fichier référencé: " & nom_fichier _
     & " a été archivé. ", vbOKOnly + vbInformation, "Validation et Archivage réussie"
 
    Sheets("Reflet").Select
    Range("C12").Select
    
    ligne = 80
    
'Editer en PDF
    ActiveSheet.PageSetup.PrintArea = "C3:R" & ligne + 1
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        ThisWorkbook.Path & "\archives\" & nom_fichier _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
' Incrémentation de la Facture ou du Devis
    Sheets("Facture").Select
    If [U34] = 1 Then
        PlusDev
    End If
    If [U36] = 1 Then
        PlusFac
    End If
    Range("C12").Select
    Application.ScreenUpdating = True
    
End Sub