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
| Function Calcul_Total(Phase As String, Objet1 As Long, Objet2 As Double, Objet3 As Double, Objet4 As Double, _
Objet5 As Double, Annee As Double, DureeP1 As Double, DureeP2 As Double, DureeP3 As Double, Duree_totale As Double, _
Taux_Act As Double) As Double
Application.Volatile
Dim Total1 As Double
Dim Total As Double
Dim Actualisation As Double
Dim i As Integer
Dim Count As Integer
Dim Colonne As Integer
If Phase = "Phase 1" Or Phase = "MGlobale" Then
Count = 3
If Phase = "Phase 1" Then
Colonne = 2
ElseIf Phase = "MGlobale" Then
Colonne = 5
End If
ElseIf Phase = "Phase 2" Then
Count = CInt(DureeP1 + 4)
ElseIf Phase = "Phase 3" Then
Count = CInt(DureeP2 + DureeP1 + 4)
End If
Total1 = (Objet1 + Objet2 + Objet3 + Objet4 + Objet5) / Annee
Actualisation = 1 + Taux_Act
Total = Total1
Worksheets("XXX").Range(Cells(Count, Colonne), Cells(Count, Colonne)).Value = Total1
Dim Annee2 As Integer
Annee2 = CInt(Annee)
For i = 1 + Count To Annee2 - 1 + Count
Total = Total + Total1 * Actualisation
Worksheets("XXX").Cells(i, Colonne).Value = Total1 * Actualisation
Actualisation = Actualisation * (1 + Taux_Act)
Next i
Calcul_Total = Total
End Function |
Partager