Sub CalculGénéral()
Dim Somme, L%
' Somme Prog
With Sheets("Prog")
For L = 2 To .Range("A65500").End(xlUp).Row
If .Cells(L, "B") <> "" And .Cells(L, "F") = "payé" Then
Somme = Somme + .Cells(L, "B")
End If
Next L
End With
' Somme Achat
With Sheets("achat")
For L = 2 To .Range("A65500").End(xlUp).Row
Somme = Somme + .Cells(L, "B") + .Cells(L, "C") + .Cells(L, "D")
Next L
End With
'Affichage résultat
Somme = Somme + Val(UserForm2.AutreDépense)
UserForm2.ResultInventaire = Somme
End Sub
Sub CalculPériodique()
Dim Somme, L%, Début, Fin
' Définition intervalle de temps et vérification validité dates
On Error GoTo Sortie
Début = CDate(UserForm2.DateDébut)
Fin = CDate(UserForm2.DateFin)
If SécuritéDates(Début, Fin) = 0 Then
MsgBox "Problème de dates entrées."
Exit Sub
End If
' Somme Prog
With Sheets("Prog")
For L = 2 To .Range("A65500").End(xlUp).Row
If .Cells(L, "B") <> "" And .Cells(L, "F") = "payé" Then
If .Cells(L, "G") >= Début And .Cells(L, "G") <= Fin Then
Somme = Somme + .Cells(L, "B")
End If
End If
Next L
End With
' Somme Achat
With Sheets("achat")
For L = 2 To .Range("A65500").End(xlUp).Row
If .Cells(L, "G") >= Début And .Cells(L, "G") <= Fin Then
Somme = Somme + .Cells(L, "B") + .Cells(L, "C") + .Cells(L, "D")
End If
Next L
End With
'Affichage résultat
Somme = Somme + Val(UserForm2.AutreDépense)
UserForm2.ResultInventaire = Somme
Exit Sub
Sortie:
MsgBox "Une erreur est survenue."
End Sub
Function SécuritéDates(Début, Fin)
If IsNumeric(Val(Début)) And IsNumeric(Val(Fin)) And _
Début <> "" And Fin <> "" Then
SécuritéDates = 1
Else
SécuritéDates = 0
End If
End Function