Pourquoi faire une fonction selon le jour ? Cela ne sert à rien, sauf si les conditions changent en fonction de la journée.
Pourquoi cela ne marche pas ? Vous avez oublié de remplacer MajDate par MajDateLundi en bas de la procédure.
Function MajDateLundi(ByVal Emission As String, ByVal JoursEnCours As Date, ByVal TimeIn As Date) As Variant
Dim Continuer As Boolean
Dim NbJours As Integer
Continuer = False
Select Case Emission
Case "Les Sports", "Sport Passion", "Le PoinG Part 01", "Le PoinG Part 02", "Grand Genve ˆ Chaud", "MŽtŽo" ' $F$1-1
Continuer = True
NbJours = 1
Case "Geneva Show - le grand entretien" ' $F$1-3
Continuer = True
NbJours = 3
Case "Cult.", "MŽgaphone", "Couleur Grenat" '$F$1-4
Continuer = True
NbJours = 4
Case "Ca bouge ˆ la maison", "Objectif terre", "Le Journal", "Les yeux dans les yeux" ' $F$1
Continuer = True
NbJours = 0
Case "PUB", "Comblage / BA", "Programme court" ' "-"
Continuer = False
End Select
If Continuer = True Then
If TimeIn * 24 < 18.5 Then
MajDateLundi = CDate(JoursEnCours) - NbJours
Else
MajDateLundi = JoursEnCours
End If
Else
MajDateLundi = "-"
End If
End Function