' **************************************************
' ****** 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