Bonsoir à tous...
Version modifiée de la fonction :
Function DATEECH(dFact As Date, Ech As String)
Dim TEch, IEch, dEch As Date, TypEch%
Application.Volatile
TEch = Split("1 MOIS;1 MOIS FIN DE MOIS;2 MOIS;2 MOIS 10 DU MOIS FIN DE MOIS;" _
& "1 SEMAINE;3 SEMAINES;15 JOURS;45 JOURS;45 JOURS FIN DE MOIS;TOUT DE SUITE", ";")
IEch = Array(0, 1, 1, 2, 3, 7, 21, 15, 45, 45, 1)
If Day(dFact) <= 10 Then IEch(4) = 2
On Error Resume Next
TypEch = WorksheetFunction.Match(Ech, TEch, 0)
If Err.Number <> 0 Then
DATEECH = CVErr(xlErrNA): Exit Function
End If
On Error GoTo 0
Select Case TypEch
Case 1 To 4
dEch = DateAdd("m", IEch(TypEch), dFact)
Case 5 To 10
dEch = DateAdd("d", IEch(TypEch), dFact)
End Select
Select Case TypEch
Case 2, 4, 9
dEch = DateSerial(Year(dEch), Month(dEch) + 1, 1) - 1
End Select
DATEECH = dEch
End Function
sous réserve de la réponse à mes questions.
Pas regardé tes alertes, mais mdo100 a répondu sur ce point.
Si tu souhaites en plus un message d'alerte sur les factures échues, on peut faire ça à l'ouverture du classeur. Il faut que tu indiques ce que tu souhaites comme contenu.
Cordialement.