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
| Function Periode(ByVal Str As String) As String
Dim Prd As String, Mois As String
Dim Deb As Byte, h As Byte
Dim An As Integer
Dim Tb
If InStr(Str, " ") > 0 Then
Str = Mid(Str, InStrRev(Str, " ") + 1)
If InStr(Str, "-") > 0 Then
Tb = Split(Str, "-")
Prd = UCase(Tb(0))
An = Val(Tb(1))
If Prd = "YEAR" Then
Deb = 1
h = 12
ElseIf Prd Like "Q*" Then
Deb = 3 * (Val(Replace(Prd, "Q", "")) - 1) + 1
h = 3
Else
Mois = "JAN;FEV;MAR;AVR;MAI;JUI;JUL;AOU;SEP;OCT;NOV;DEC"
Deb = (InStr(Mois, Prd) + 3) / 4
h = 1
End If
Str = Format(DateSerial(An, Deb, 1), "dd.mm.yyyy") & "-" & Format(DateAdd("d", -1, DateAdd("m", h, DateSerial(An, Deb, 1))), "dd.mm.yyyy")
End If
End If
Periode = Str
End Function |
Partager