Private Sub Worksheet_Change(ByVal Target As Range)
'Lorsque qu'une modification advient ...
'Cas des critères
If Target.Count = 1 And Target.Column = 8 Then
'S'il n'y a qu'une cellule modifiée et qu'elle est en colonne H (8)
Application.EnableEvents = False
'Si la cellule modifiée n'est pas vide, on met la date sinon on efface la date
If Not IsEmpty(Target) Then Target.Offset(0, 2).Value = Date Else Target.Offset(0, 2).ClearContents
Application.EnableEvents = True
Exit Sub
End If
'Cas de la validation
If Target.Count = 1 And Target.Column = 2 Then
'Sil n'y a qu'une cellule modifiée et qu'elle est en colonne B (2)
On Error Resume Next
'Facultatif Test pour vérifier qu'il s'agit bien d'une cellule de validation par le manager (Validation : OK, Commentaire : "VALIDATION DU MANAGER")
test = Target.Validation.Formula1 = "OK" And Target.Comment.Shape.DrawingObject.Caption = "VALIDATION DU MANAGER"
On Error GoTo 0
If test And Target.Value = "OK" Then
'Si la validation vaut OK
Application.EnableEvents = False
'Libellé dans la cellule voisine
Target.Offset(0, 1).Value = "Vu par " & Application.UserName & " le " & Format(Date, "dd/mm/yyyy")
Me.Unprotect Mdp 'Enlever la protection de la feuille
Target.Offset(0, -1).MergeArea.Resize(, 10).Locked = True 'Verrouiller les cellules du mois
Me.Protect Mdp 'remettre la protection de la feuille
Application.EnableEvents = True
End If
End If
End Sub