Une proposition via VBA (non testée) utilisant une fonction personnalisée :
Function PremierJourOuvré(Jour As Date, Optional Fériés As Range) As Boolean
If Not Fériés Is Nothing Then
PremierJourOuvré = (Application.NetWorkDays(Jour,Jour,Fériés) = 1) * (Application.NetWorkDays(DateSerial(Year(Jour),Month(Jour),1),Jour,Fériés) = 1)
Else
PremierJourOuvré = (Application.NetWorkDays(Jour,Jour) = 1) * (Application.NetWorkDays(DateSerial(Year(Jour),Month(Jour),1),Jour) = 1)
End If
End Function
Dans votre code, il est ensuite possible d'écrire :
'...
If PremierJourOuvré(Range("A1")) Then
'...
Else
'...
End If
'...