ItsSte,
There are a couple of ways to set up a rotating calendar, manually editing work periods for a custom calendar, or with a VBA macro. As it turns out, this type of request has been asked before and I wrote a macro to do it. As written the macro is set up for 14 day cycles of work and non-work but it is easily modifiable to produce the 15 pattern your want.
John
Option Explicit
Option Compare Text
Public ver As String, ResData As String, ResNam As String
Public i As Integer, j As Integer, ResID As Integer, cday As Integer
Public Seed As Variant, Seed2 As Date, Seed3 As Date, S1 As Date, S2 As Date, F1 As Date, F2 As Date
Public fd As Date, StEx As Date, FiEx As Date
Public ResCal As Calendar
Sub Dayson_Daysoff_calendar()
'This macro will create a 14 days on/14 days off sequence
'It is based on a copy of an existing 7 day workweek calendar with default work time (8am to 5pm with 1 hour lunch)
'The number of exceptions is arbitrarily set at 25. That will cover just short of 2 years
'Macro written by John-Project June 24, 2015
'first create the new custom calendar
On Error Resume Next 'in case the custom calendar already exists
BaseCalendarCreate Name:="14on-14off", fromname:="7-day week"
On Error GoTo 0
'Ask user for the date to start the 14on/14off sequence
' if no date is entered assume current date
Seed = InputBox("Enter sequence start date as mm/dd/yy")
If Seed = "" Then Seed = ActiveProject.CurrentDate
'add 13 days + 9 hours to arrive at a finish of 5:00 pm
fd = DateAdd("h", 321, Seed) 'add 14 days to the start date
For i = 1 To 25
ActiveProject.BaseCalendars("14on-14off").Exceptions.Add Type:=1, Start:=Seed, Finish:=fd, Name:="exception " & i
Seed = DateAdd("d", 28, Seed) 'sets start of next group 28 days later at 8:00 am
fd = DateAdd("h", 321, Seed) 'sets finish of next group 13 days later at 5:00 pm
Next i
End Sub