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
| Sub Generer_Ecritures_Bridge_CFS()
Dim NumColonne, DerniereColonne, DerniereLigne, IndiceColonne, IndiceLigne, Montant, MontantSigne, Indice As Integer
Dim NbLigneEcriture As Integer
Dim Signe, NumCompte, NumRubrique, Liste As String
Dim Cell As Range
'Recuperer le numero de colonne de la dernière écriture dans le bridge retraité
IndiceLigneEcriture = 4
'Déterminer le numéro de la dernière colonne non vide du Bridge
DerniereColonne = Sheets("Bridge_CFS_EDF_Re").Range("D1").End(xlToRight).Column
'Déterminer le numéro de la dernière ligne non vide du Bridge
DerniereLigne = Sheets("Bridge_CFS_EDF_Re").Cells(Rows.Count, 1).End(xlUp).Row
'En fonction du nombre d'écritures, nous allons générée le code journal et créer l'onglet puis le nommer avec le code journal pour chaque écriture selon le format suivant "RBV_vX_vZ", X et Z étant vaiables. A noter qu'EDIFIS nous limite au numéro 10 pour la valeur X on passe donc la dizaine en Z
If DerniereColonne <= 13 Then
For IndiceColonne = 4 To DerniereColonne
'Création de l'onglet
Sheets.Add After:=Worksheets(Worksheets.Count())
'Nommer l'onglet
Sheets(Sheets.Count).Name = "RBV41_" & IndiceColonne - 3 & "v_3"
'Générer les 3 premières lignes génériques de l'écriture
Sheets("RBV41_" & IndiceColonne - 3 & "v_3").Cells(1, 1).Value = "Ecriture RBV41_" & IndiceColonne - 3 & "v_3"
Sheets("RBV41_" & IndiceColonne - 3 & "v_3").Cells(2, 1).Value = "!JOURNAL=RBV41 S1073 BR" & IndiceColonne - 3
Sheets("RBV41_" & IndiceColonne - 3 & "v_3").Cells(3, 1).Value = "!DESC=" & Sheets("Bridge_CFS_EDF_Re").Cells(2, IndiceColonne).Value
'Générer les lignes de l'écriture correspondant à impact par compte
For IndiceLigne = 3 To DerniereLigne
MontantSigne = Sheets("Bridge_CFS_EDF_Re").Cells(IndiceLigne, IndiceColonne).Value
Montant = Int(Abs(Sheets("Bridge_CFS_EDF_Re").Cells(IndiceLigne, IndiceColonne).Value * 1000))
'MsgBox (Sheets("RBV41_" & IndiceColonne - 3 & "v_3").Cells(Sheets("RBV41_" & IndiceColonne - 3 & "v_3").Range("A1").End(xlDown).Row + 1, 6).Value)
If MontantSigne < 0 Then Signe = "D" Else Signe = "C"
If MontantSigne <> 0 Then
NumRubrique = Sheets("Bridge_CFS_EDF_Re").Cells(IndiceLigne, 1).Value
With Sheets("RBV41_" & IndiceColonne - 3 & "v_3").Range("F" & Range("A1").End(xlDown).Row + 1).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=NumRubrique"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Sheets("RBV41_" & IndiceColonne - 3 & "v_3").Cells(Sheets("RBV41_" & IndiceColonne - 3 & "v_3").Range("A1").End(xlDown).Row + 1, 1).Value = (Numéro de compte choisi) & "[ICP None];[None];[None];[None];" & Signe & ";" & Montant & ";"
End If
Next
Next |
Partager