Salut Jey,
après réflexion, je préconise un encodage de la durée en MOIS : plus simple, facile, sans pièges !
Le calcul de ces durées ne devrait, j'imagine, pas te poser trop de problèmes !
- l'encodage en [F11] ou [F14] efface l'affichage de la cellule-miroir ;
- ainsi, si la valeur encodée est vide, pas de souci ;
- si [F11] est vide, sa sélection affiche par défaut la date en [F8] + 12 mois : l'idée est d'afficher la durée la plus fréquemment utilisée.
On peut imaginer placer cette valeur-défaut quelque part, modifiable...
Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim dDate As Date, iM%
Application.EnableEvents = False
'
If Not Intersect(Target, Union([F11], [F14])) Is Nothing Then
Range("F" & IIf(Target.Row = 11, 14, 11)).Value = ""
If Target <> "" Then
If Target.Row = 11 Then _
[F14] = CInt(DateDiff("m", CDate([F8]), CDate([F11]))): _
dDate = CDate([F11])
If Target.Row = 14 Then dDate = DateAdd("m", CInt(Target), CDate([F8]))
[F11] = DateAdd("d", IIf(Weekday(dDate, vbMonday) > 5, 8 - Weekday(dDate, vbMonday), 0), dDate)
End If
End If
'
Application.EnableEvents = True
'
End Sub
A+