Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range 'déclare la variable r (Recherche)
If Not Intersect([F2:F100], Target) Is Nothing Then
On Error Resume Next
Target.Interior.ColorIndex = [couleurs].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
End If
If Not Intersect([d2:d100], Target) Is Nothing Then 'condition 1
Set r = [outils].Find(Target, LookAt:=xlWhole) 'définit la recherche r
If r Is Nothing Then 'condition 2 : si aucune occurence n'est trouvée
If MsgBox("Saisie incorrecte ! Voulez-vous recommencer", vbYesNo, "ATTENTION !") = vbYes Then 'condition 3: si "oui" au message
Target.ClearContents 'efface le contenu
Target.Select 'place le curseur dans la cellule
End If 'fin de la condition 3
End If 'fin de la condition 2
End If 'fin de la condition 1
End Sub