Re,
complément de ma proposition
Private Sub worksheet_change(ByVal Target As Range)
Dim pl As Range
Set pl = Intersect(Target, Columns(12))
If Not pl Is Nothing Then
If MsgBox("Etes vous certain de supprimer l'état et les dates ?", vbYesNo, "Demande de confirmation") = vbYes Then
Etat pl
End If
End If
End Sub
Sub Etat(pl As Range)
Dim c As Range
For Each c In pl
c.Offset(, -7).Resize(, 20).Interior.Color = Switch(c = "FINT", 5296274, c = "ENCO", 49407, c = "", xlNone)
If c = "FINT" Then
If c.Offset(, 2) = "" Then
c.Offset(, 2) = Date
ElseIf c.Offset(, 1) = "" Then
c.Offset(, 1) = Date
End If
ElseIf c = "ENCO" Then
c.Offset(, 2).ClearContents
If c.Offset(, 1) = "" Then c.Offset(, 1) = Date
ElseIf c = "" Then
c.Offset(, 1).Resize(, 2).ClearContents
End If
Next c
End Sub
pour etat() je ne suis sûr de rien à cause des bizarreries (pour être poli ) de ton modèle.
Il y aura peut-être des fonctionnements à reprendre à la marge, ce qui compte c'est le principe.
eric
eric