Function AnSemJSDate(ByVal Dt As Date, Optional ByVal Sép As String = "|") As String
Dim TSpl(): TSpl = ArrayASJ(Dt): TSpl(1) = Format(TSpl(1), "00")
AnSemJSDate = Join(TSpl, Sép)
End Function
Function DateAnSemJS(ByVal Z As String, Optional ByVal Sép As String = "|") As Date
Dim TSpl() As String: TSpl = Split(Z, Sép)
DateAnSemJS = DateASJ(TSpl(0), TSpl(1), TSpl(2))
End Function
Function ArrayASJ(ByVal Dt As Date) As Variant()
ArrayASJ = Array(Year(Dt), WorksheetFunction.IsoWeekNum(Dt), Weekday(Dt, vbMonday))
End Function
Function DateASJ(ByVal An As Integer, ByVal Sem As Integer, ByVal JS As Integer) As Date
Dim Dt As Date: Dt = DateSerial(An, 6, 31): Dt = Dt - WorksheetFunction.Weekday(Dt, 3)
DateASJ = Dt + 7 * (Sem - WorksheetFunction.IsoWeekNum(Dt)) + JS - 1
End Function