Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, ThisWorkbook.Sheets("Administration").Range("DateMax")) Is Nothing Then Target.Value = DernierJourDuMois(ThisWorkbook.Sheets("Administration").Range("DateMax"))
End Sub
Public Function DernierJourDuMois(ByVal Valeur As String) As String
DernierJourDuMois = Valeur
While Month(DernierJourDuMois) = Month(Valeur)
DernierJourDuMois = DateAdd("d", 1, DernierJourDuMois)
Wend
DernierJourDuMois = DateAdd("d", -1, DernierJourDuMois)
End Function