Bonjour,
j'ai créer un code qui génère une erreur, mais je ne vois pas où.
Pourriez vous m'aidez?
' Déclaration des variables
Dim date_deb, date_fin, date_act As Date
Dim charge_total, charge_jour As Integer
For j = 10 To 126 Step 7
For i = 0 To 5
'Affectation des variables
date_deb = Worksheets("charge_jour").Cells(2, j - 7 - i).Value
date_fin = Worksheets("charge_jour").Cells(2, j - 6 - i).Value
date_act = Worksheets("charge_mois").Cells(1, j).Value
charge_total = Worksheets("charge_jour").Cells(2, j - 4 - i).Value
charge_jour = Worksheets("charge_jour").Cells(2, j - 3 - i).Value
Cells(3, j + i).Select
If date_fin = "" Then
ActiveCell.Value = 0
ElseIf date_deb < DateSerial(Year(date_act), Month(date_act), 1) Then
If date_fin < DateSerial(Year(date_act), Month(date_act), 1) Then
ActiveCell.Value = 0
ElseIf (Year(date_fin) = Year(date_act)) And (Month(date_fin) = Month(date_act)) Then
ActiveCell.Value = DateDiff("d", DateSerial(Year(date_act), Month(date_act), 1), date_fin) * charge_jour
Else
ActiveCell.Value = 30 * charge_jour
End If
ElseIf (Year(date_deb) = Year(date_act)) And (Month(date_deb) = Month(date_act)) Then
If (Year(date_fin) = Year(date_act)) And (Month(date_fin) = Month(date_act)) Then
ActiveCell.Value = charge_total
Else
ActiveCell.Value = DateDiff("d", date_deb, DateSerial(Year(date_act), Month(date_act) + 1, 1) - 1) * charge_jour
End If
Else
ActiveCell.Value = 0
End If
Next i
Next j
j'ai créer un code qui génère une erreur, mais je ne vois pas où.
Pourriez vous m'aidez?
' Déclaration des variables
Dim date_deb, date_fin, date_act As Date
Dim charge_total, charge_jour As Integer
For j = 10 To 126 Step 7
For i = 0 To 5
'Affectation des variables
date_deb = Worksheets("charge_jour").Cells(2, j - 7 - i).Value
date_fin = Worksheets("charge_jour").Cells(2, j - 6 - i).Value
date_act = Worksheets("charge_mois").Cells(1, j).Value
charge_total = Worksheets("charge_jour").Cells(2, j - 4 - i).Value
charge_jour = Worksheets("charge_jour").Cells(2, j - 3 - i).Value
Cells(3, j + i).Select
If date_fin = "" Then
ActiveCell.Value = 0
ElseIf date_deb < DateSerial(Year(date_act), Month(date_act), 1) Then
If date_fin < DateSerial(Year(date_act), Month(date_act), 1) Then
ActiveCell.Value = 0
ElseIf (Year(date_fin) = Year(date_act)) And (Month(date_fin) = Month(date_act)) Then
ActiveCell.Value = DateDiff("d", DateSerial(Year(date_act), Month(date_act), 1), date_fin) * charge_jour
Else
ActiveCell.Value = 30 * charge_jour
End If
ElseIf (Year(date_deb) = Year(date_act)) And (Month(date_deb) = Month(date_act)) Then
If (Year(date_fin) = Year(date_act)) And (Month(date_fin) = Month(date_act)) Then
ActiveCell.Value = charge_total
Else
ActiveCell.Value = DateDiff("d", date_deb, DateSerial(Year(date_act), Month(date_act) + 1, 1) - 1) * charge_jour
End If
Else
ActiveCell.Value = 0
End If
Next i
Next j