Bonjour Didam, bonjour le forum,
Désolé pour la réponse tardive...
Si on considère que la colonne 4 contient une validation de données (oui/non) le code ci-dessous à adapter à ton cas :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim COL As Integer 'déclare la variable COL (COLonne)
COL = 4 'définit la colonne COL (à adapter à ton cas)
If Target.Column <> COL Then Exit Sub 'si le changement a lieu ailleurs que dans la colonne 4, sort de la procédure
If UCase(Target.Value) = "OUI" Then 'condition : si la valeur de la cellule modifiée (convertie en majuscule) est égale à "OUI"
Target.Offset(0, 1).Validation.Delete 'supprime la validation de données de la cellule adjacente
Target.Offset(0, 1).Value = "terminé" 'écrit "terminé" dans la cellule adjacente
Else 'sinon
Target.Offset(0, 1).Value = "" 'efface la cellule adjacente
With Target.Offset(0, 1).Validation 'prend en compte la validation de données de la cellule adjacente
.Delete 'supprime une éventuelle validation de données
.Add xlValidateList, Formula1:="en cours, à faire" 'définit la liste de la validation de données de la cellule adjacente
End With 'fin de la prise en compte de ...
End If 'fin de la condition
Target.Offset(0, 1).Select 'sélectionne la cellule adjacente
End Sub