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
| 'definition de la location de mes cellules dans mes plages
Stardate = Cells(oRow1, oCol1).Offset(10, 0).Value
EndDate = Cells(oRow1, oCol1).Offset(10, 1).Value
Duration = EndDate - StartDate
TotalCost = Cells(oRow2, oCol2).Offset(88, 17).Value
CostPerDay = TotalCost / Duration
'repeter l'action jusqu'a que la date de finission soit inferieur a date de la prochaine periode.
'Cells(oRow3, oCol3).Offset(1, i + 1)signifie la deuxieme ligne de mon cash flow où se trouve la date de chaque periode
Do Until Cells(oRow3, oCol3).Offset(1, i + 1).Value > EndDate
'si le debut de ma periode < StartDate < debut de la prochaine periode ==> le cout = le nombre de jour de chantier dans cette periode * le cout/jour
If Cells(oRow3, oCol3).Offset(1, i + 1).Value < StartDate < Cells(oRow3, oCol3).Offset(1, i + 2).Value < EndDate Then
Cells(oRow3, oCol3).Offset(3, i + 1).Value = (Cells(oRow3, oCol3).Offset(1, i + 2).Value - StartDate) * CostPerDay
'si EndDate est pendant la prochaine periode ==> le cout = le nombre de jour de chantier pendant cette periode * le cout/jour
If Cells(oRow3, oCol3).Offset(1, i + 2).Value < EndDate < Cells(oRow3, oCol3).Offset(1, i + 3).Value Then
Cells(oRow3, oCol3).Offset(3, i + 2).Value = (EndDate - Cells(oRow3, oCol3).Offset(1, i + 2).Value) * CostPerDay
Else
' si la fin de mon chantier n'est pas dans cette periode mais plu tard ==> coute = nombre de jour dans la periode * cout/jour
Cells(oRow3, oCol3).Offset(3, i + 2).Value = (Cells(oRow3, oCol3).Offset(1, i + 3).Value - ActiveCell.Value) * CostPerDay
End If
Else
'faire i = + 1 je ne sais pas trop comment faire ca
ActiveCell.Offset(0, 1).Select
End If
Loop |