Bonjour à vous tous,
La macro ci-dessous remplit les deux fonctions suivantes : Si la cellule C6 est modifiée, une formule est inscrite en C7 et si la cellule C7 est modifiée, la cellule C6 est vidée.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C6, C7")) Is Nothing Then
Application.EnableEvents = False
With Target
If .Address = "$C$6" Then
Range("C7").Formula = "=IF(YEAR(R8C3)<=2004,IF(R6C3<=R9C3,0,MIN(MAX(R9C3/8,R6C3-R9C3),2*R9C3)),IF(R6C3<3*R9C3/4,0,MIN(MAX(R9C3/8,R6C3-(7*R9C3/8)),17*R9C3/8)))"
End If
If .Address = "$C$7" Then
Range("C6") = ""
End If
End With
End If
Application.EnableEvents = True
End Sub
Il faudrait maintenant qu’en plus la cellule C5 soit vidée si la cellule C4 - elle-même commandée par des cases à cocher « Oui » et « Non » - est modifiée. Pouvez-vous m’aider à réaliser cela ?
Serait-il également possible, lorsque la cellule C5 serait vidée par la macro ci-dessus, qu’un message d’information apparaisse : « Le contenu de la cellule C5 a été effacé ».
A vous relire.
PS : A tout hasard, voici mon fichier, malheureusement tout en allemand : https://www.excel-pratique.com/~files/doc2/20090921.zip