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
| 'Détermination type de compte
With Sheets("Dataloader")
Dim BSE As Integer, AccType As Range
BSE = .Cells(PNLS, 1).Offset(-1, 0).Row
For Each AccType In .Range("E2:E" & BSE)
If AccType.Value < 0 Then
AccType.Offset(0, -2).Value = "C"
Else
AccType.Offset(0, -2).Value = "D"
End If
Next AccType
.Range("C" & PNLS & ":C" & PNLE) = "R"
'Entité
.Range("A2:A" & PNLE) = "LCEPL"
'Activité BS
.Range("D2:D" & BSE) = "PLBU"
'Données
.Range("J2:J" & PNLE) = "SOCIAL"
'Date BS
Dim ClosingDate As Date
ClosingDate = InputBox("Entrez le dernier jour du mois clôturé (Format = jj/mm/aaaa)", "Définition de la date")
.Range("G2:G" & BSE) = ClosingDate
'Montant en
Dim ClosingRate As Single, AverageRate As Single, EURAmount As Range
ClosingRate = Round(CDbl(InputBox("Entrez le taux de clôture PLN => EUR (Séparateur de décimal => virgule)", "Définition du taux de clôture")), 6)
AverageRate = Round(CDbl(InputBox("Entrez le taux moyen PLN => EUR (Séparateur de décimal => virgule)", "Définition du taux moyen")), 6)
For Each EURAmount In .Range("F2:F" & BSE)
EURAmount.Value = EURAmount.Offset(0, -1).Value * ClosingRate
Next EURAmount
For Each EURAmount In .Range("F" & PNLS & ":F" & PNLE)
EURAmount.Value = EURAmount.Offset(0, -1).Value * AverageRate
Next EURAmount
'MEF Compte au format standard
Dim k As Byte, Account As Range
k = 1
For Each Account In .Range("B2:B" & PNLE)
Account.Value = Account.Value * k
Next Account
'Supprimer lignes avec montant nul
Dim NoAmount As Long
For NoAmount = PNLE To 2 Step -1
If .Cells(NoAmount, 5).Value = 0 Then
.Rows(NoAmount).Delete
End If
Next NoAmount
'Définir nom de champ
.Range("A1:J1") = Array("Entité", "Compte", "D-C-R", "Activité", "Montant en devise locale", "Montant en ", "Date", "Libellé", "Pièce", "Données")
'Contrôle du résultat final
Dim LR3 As Long, Disc2 As String, Question2 As Integer
LR3 = .Cells(.Rows.Count, 1).End(xlUp).Row
Disc2 = Format(Round(CDbl(.Sum(.Range("E1:E" & LR3))), 2), "# ##0.00")
Question = MsgBox("La somme de la balance et du compte de résultat est de " & Disc2 & " est-ce correct ?", vbYesNo + vbQuestion, "Calcul de la somme des données en devise locale")
If Question = vbNo Then
MsgBox "Erreur dans la compilation des données, veuillez recommencer la procédure depuis le début", vbCritical, "Erreur"
End
Else
MsgBox "Compilation du fichier ADN pour LCE CZ terminée", vbOKOnly + vbExclamation, "Fin de la procédure"
End If
End With
End Sub |
Partager