1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| Option Explicit
Private F As Worksheet 'déclare la variable F (Onglet)
Private DL01 'déclare la variable DL01(Dernière Ligne)
Sub Submit()
Application.ScreenUpdating = False
'Traitement du transfert des données du frm_Invoice sur la feuille Excel
Dim PL As Variant
Dim NF1, NF2, NF3, NF4, NF5, NF6, NF7, NF8
Set F = Sheets("Sheet1") 'définit la Feuil "Sheet1" en tant que "F"
DL01 = F.Cells(Application.Rows.Count, 2).End(xlUp).Row 'définit la dernière ligne éditée DL01 de la colonne 2 (=B) de l'onglet F
'
'Transpose les données du formulaire sur la feuille Sheet1
DL01 = DL01 + 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("B8:B" & DL01) 'redéfinit la plage PL
NF1 = frm_InvoiceEntries.cbox_Supplier.Value 'définit l'objet dans lequel se trouve la donnée à transferer sur la feuille
F.Cells(DL01, 2).Value = NF1 'place le nom dans la cellule ligne DL01, colonne 2 de l'onglet F Sheet1
'''
DL01 = DL01
Set PL = F.Range("C8:C" & DL01) 'redéfinit la plage PL
NF2 = frm_InvoiceEntries.txt_InvoiceNum.Value 'définit l'objet dans lequel se trouve la donnée à transferer sur la feuille
F.Cells(DL01, 3).Value = NF2 'place le nom dans la cellule ligne DL01, colonne 3 de l'onglet F Sheet1
'''
'===Colonne contenant une formule excel sans rélation avec le formulaire===
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("N8:N" & DL01) 'redéfinit la plage PL
F.Cells(DL01, 14).FormulaR1C1 = "=RC[-10]" 'DL01 = Dernière ligne du tableau; 14 = Colonne 14 = Colonne N
'''
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("O8:O" & DL01) 'redéfinit la plage PL
F.Cells(DL01, 15).FormulaR1C1 = "=RC[-11]" 'DL01 = Dernière ligne du tableau; 15 = Colonne 15 = Colonne O
'''
'===Colonne contenant une formule excel sans rélation avec le formulaire===
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("P8:P" & DL01) 'redéfinit la plage PL
NF3 = frm_InvoiceEntries.cbox_Currency.Value 'définit l'objet dans lequel se trouve la donnée à transferer sur la feuille
F.Cells(DL01, 16).Value = NF3 'place le nom dans la cellule ligne DL01, colonne 16 de l'onglet F Sheet1 = Colonne R
'''
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("Q8:Q" & DL01) 'redéfinit la plage PL
NF4 = frm_InvoiceEntries.txt_InvoiceAmount.Value 'définit l'objet dans lequel se trouve la donnée à transferer sur la feuille
F.Cells(DL01, 17).Value = NF4 'place le nom dans la cellule ligne DL01, colonne 17 de l'onglet F Sheet1
'''
'===Colonne contenant une formule excel sans rélation avec le formulaire===
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("R8:R" & DL01) 'redéfinit la plage PL
F.Cells(DL01, 18).FormulaR1C1 = "To be paid" 'DL01 = Dernière ligne du tableau; 18 = Colonne 18 = Colonne R
'''
'===Colonne contenant une formule excel sans rélation avec le formulaire===
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("S8:S" & DL01) 'redéfinit la plage PL
F.Cells(DL01, 19).FormulaR1C1 = "=IF(RC[-1]=""Pago"",""-"",RC[-14]+30)" 'DL01 = Dernière ligne du tableau; 19 = Colonne 19 = Colonne S
'''
'===Colonne contenant une formule excel sans rélation avec le formulaire===
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("T8:T" & DL01) 'redéfinit la plage PL
F.Cells(DL01, 20).FormulaR1C1 = "=IF(RC[-2]=""Pago"",0,IF((TODAY())<RC[-1],0,(TODAY())-RC[-1]))" 'DL01 = Dernière ligne du tableau; 20 = Colonne 20 = Colonne T
'''
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("V8:V" & DL01) 'redéfinit la plage PL
NF5 = frm_InvoiceEntries.cbox_Approval.Value 'définit l'objet dans lequel se trouve la donnée à transferer sur la feuille
F.Cells(DL01, 22).Value = NF5 'place le nom dans la cellule ligne DL01, colonne 22 de l'onglet F Sheet1 = Colonne V
'''
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("W8:W" & DL01) 'redéfinit la plage PL
NF6 = frm_InvoiceEntries.txt_StatusProgress.Value 'définit l'objet dans lequel se trouve la donnée à transferer sur la feuille
F.Cells(DL01, 23).Value = NF6 'place le nom dans la cellule ligne DL01, colonne 23 de l'onglet F Sheet1 = Colonne W
'''
'===Colonne contenant une formule excel sans rélation avec le formulaire===
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("AA8:AA" & DL01) 'redéfinit la plage PL
F.Cells(DL01, 27).FormulaR1C1 = "=IF(OR(RC[-9]="""",RC[-9]=""Por pagar""),IF(RC[-7]<1,""Will be due"",IF(RC[-7]<8,""Due"",""Overdue"")),""Paid"")" 'DL01 = Dernière ligne du tableau; 27 = Colonne 27 = Colonne AA
'''
'===Colonne contenant une formule excel sans rélation avec le formulaire===
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("AB8:AB" & DL01) 'redéfinit la plage PL
F.Cells(DL01, 28).FormulaR1C1 = "=IF(RC[-10]=""Pago"",0,IF((TODAY())<RC[-9],0,(TODAY())-R[-12]C[-9]))" 'DL01 = Dernière ligne du tableau; 28 = Colonne 28 = Colonne AB
'''
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("AC8:AC" & DL01) 'redéfinit la plage PL
NF7 = frm_InvoiceEntries.lbl_UserName.Caption 'définit l'objet dans lequel se trouve la donnée à transferer sur la feuille
F.Cells(DL01, 29).Value = NF7 'place le nom dans la cellule ligne DL01, colonne 29 de l'onglet F Sheet1 = Colonne AC
'''
DL01 = DL01 '+ 1 'redéfinit la dernière ligne DL01
Set PL = F.Range("AD8:AD" & DL01) 'redéfinit la plage PL
NF8 = frm_InvoiceEntries.lbl_DateUpdate.Caption 'définit l'objet dans lequel se trouve la donnée à transferer sur la feuille
F.Cells(DL01, 30).Value = NF8 'place le nom dans la cellule ligne DL01, colonne 30 de l'onglet F Sheet1
Set F = Nothing
ActiveWorkbook.Save
Application.ScreenUpdating = True
End Sub |
Partager