'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub SaisieJal(w As Worksheet, P_BTN As Byte, CPTA_MODE As Boolean)
'
'w for worksheet
'p_mode for single or multiple entry type transaction
'p_mode 0 = single entry, 1 = multiple entries
'p_btn for expense = 1 revenue = 2, other = 3
'p_cpta for tresorerie or engagement 0 = treso, 1 = engagement
'
Dim vList As Variant
Dim r As Range
Dim i As Long, j As Long
'On Error Resume Next
Select Case CPTA_MODE 'CASH ACCOUNTING
Case False
With w
Select Case P_BTN 'Top buttons
Case 1 'Cash accounting - EXPENSE
Set ws_COA = ThisWorkbook.Worksheets(wsCoa)
'Accounts
vList = RetAccValList(ws_COA, P_BTN, COA_NUM_CPTE, COA_CAT_CPTE) 'cf function 1 for accounts
With .Cells(LIG_DR, COL_COMPTENO).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Join(vList, ",") 'update
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
'Labels
vList = RetAccValList(ws_COA, P_BTN, COA_INT_CPTE, COA_CAT_CPTE) 'cf function 1 for accounts
With .Cells(LIG_DR, COL_COMPTEINTITULE).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Join(vList, ",") 'update
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = False
End With
'Credit ready available bank accounts nb
vList = RetAccValList(ws_COA, 4, COA_NUM_CPTE, COA_TYPE_CPTE) 'cf function 1 for accounts
With .Cells(LIG_CR, COL_COMPTENO).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Join(vList, ",") 'update
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = False
End With
.Cells(LIG_CR, COL_COMPTENO).Value = vList(0)
'DIS_EVENT = True
'Credit ready available bank accounts labels
vList = RetAccValList(ws_COA, 4, COA_INT_CPTE, COA_TYPE_CPTE) 'cf function 1 for accounts
With .Cells(LIG_CR, COL_COMPTEINTITULE).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Join(vList, ",") 'update
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = False
End With
.Cells(LIG_CR, COL_COMPTEINTITULE).Formula = "=VLOOKUP( " & COL_COMPTENO_Y & LIG_CR & ",PCG,2,0)"
With .Cells(LIG_CR, COL_DEBIT).Interior
.Pattern = xlChecker
.PatternColor = 5296274
.ThemeColor = xlThemeColorDark1
.TintAndShade = -4.99893185216834E-02
.PatternTintAndShade = 0
End With
With .Cells(LIG_DR, COL_CREDIT).Interior
.Pattern = xlChecker
.PatternColor = 5296274
.ThemeColor = xlThemeColorDark1
.TintAndShade = -4.99893185216834E-02
.PatternTintAndShade = 0
End With
Set ws_COA = Nothing
Case 2 'Cash accounting - REVENUE
Set ws_COA = ThisWorkbook.Worksheets(wsCoa)
'Accounts
vList = RetAccValList(ws_COA, P_BTN, COA_NUM_CPTE, COA_CAT_CPTE) 'cf function 1 for accounts
With .Cells(LIG_CR, COL_COMPTENO).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Join(vList, ",") 'update
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
'Labels
vList = RetAccValList(ws_COA, P_BTN, COA_INT_CPTE, COA_CAT_CPTE) 'cf function 1 for accounts
With .Cells(LIG_CR, COL_COMPTEINTITULE).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Join(vList, ",") 'update
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = False
End With
'Credit ready available bank accounts nb
vList = RetAccValList(ws_COA, 4, COA_NUM_CPTE, COA_TYPE_CPTE) 'cf function 1 for accounts
With .Cells(LIG_DR, COL_COMPTENO).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Join(vList, ",") 'update
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = False
End With
.Cells(LIG_DR, COL_COMPTENO).Value = vList(0)
'DIS_EVENT = True
'Credit ready available bank accounts labels
vList = RetAccValList(ws_COA, 4, COA_INT_CPTE, COA_TYPE_CPTE) 'cf function 1 for accounts
With .Cells(LIG_DR, COL_COMPTEINTITULE).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Join(vList, ",") 'update
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = False
End With
.Cells(LIG_DR, COL_COMPTEINTITULE).Formula = "=VLOOKUP( " & COL_COMPTENO_Y & LIG_DR & ",PCG,2,0)"
.Cells(LIG_DR, COL_DEBIT).Interior.Pattern = xlSolid
.Cells(LIG_CR, COL_CREDIT).Interior.Pattern = xlSolid
.Cells(LIG_DR, COL_CREDIT).Interior.Pattern = xlGray25
.Cells(LIG_CR, COL_DEBIT).Interior.Pattern = xlGray25
With .Cells(LIG_DR, COL_CREDIT).Interior
.Pattern = xlChecker
.PatternColor = 12611584
.ThemeColor = xlThemeColorDark1
.TintAndShade = -4.99893185216834E-02
.PatternTintAndShade = 0
End With
With .Cells(LIG_CR, COL_DEBIT).Interior
.Pattern = xlChecker
.PatternColor = 12611584
.ThemeColor = xlThemeColorDark1
.TintAndShade = -4.99893185216834E-02
.PatternTintAndShade = 0
End With
Set ws_COA = Nothing
Case 3 'Cash accounting - OTHER OPERATIONS
Set ws_COA = ThisWorkbook.Worksheets(wsCoa)
'Accounts
vList = RetAccValList(ws_COA, P_BTN, COA_NUM_CPTE, COA_CAT_CPTE) 'cf function 1 for accounts
With .Cells(LIG_CR, COL_COMPTENO).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Join(vList, ",") 'update
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
With .Cells(LIG_DR, COL_COMPTENO).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Join(vList, ",") 'update
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
'Labels
vList = RetAccValList(ws_COA, P_BTN, COA_INT_CPTE, COA_CAT_CPTE) 'cf function 1 for accounts
With .Cells(LIG_CR, COL_COMPTEINTITULE).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Join(vList, ",") 'update
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = False
End With
With .Cells(LIG_DR, COL_COMPTEINTITULE).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Join(vList, ",") 'update
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = False
End With
.Cells(LIG_DR, COL_DEBIT).Interior.Pattern = xlSolid
.Cells(LIG_CR, COL_CREDIT).Interior.Pattern = xlSolid
.Cells(LIG_DR, COL_CREDIT).Interior.Pattern = xlGray25
.Cells(LIG_CR, COL_DEBIT).Interior.Pattern = xlGray25
Set ws_COA = Nothing
End Select
End With
End Select
With w
Set r = .Range("E15")
Range(r, r.End(xlDown)).TextToColumns Destination:=Range("E15"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Set r = Nothing
End With
End Sub
Function RetAccValList(w As Worksheet, Mod_Cpte As Byte, CoaCol As Byte, LkUpCol As Byte) As Variant
'
'Mod_Cpte = expense/revenue/bilan
'CoaCol = Col nb from COA ws
'LkUpCol = look col on COA
'
'
Dim v() As String
Dim acc_type As String
Dim i As Long, j As Long, k As Long
Dim lastr As Long
Select Case Mod_Cpte
Case 1
acc_type = Exp
Case 2
acc_type = Rev
Case 3
acc_type = BalSheet
Case 4
acc_type = treso
End Select
With w
ReDim v(0)
lastr = .Cells(Rows.Count, 3).End(xlUp).Row
k = 0
For i = 3 To lastr
If LCase(.Cells(i, LkUpCol).Value) Like acc_type Then
v(k) = CStr(.Cells(i, CoaCol).Value)
k = k + 1
ReDim Preserve v(k)
End If
Next i
End With
ReDim Preserve v(k - 1)
RetAccValList = v
End Function