Private Sub mafeuille_Change(ByVal Target As Range)
Dim ws As Worksheet, x As Range
If Target.Count > 1 Or IsEmpty(Target.Value) Then Exit Sub
For Each ws In Worksheets
If ws.Name <> mafeuille.Name Then
Set x = ws.Cells.Find(Target.Value, , xlValues, xlWhole, , , False)
If Not x Is Nothing Then
MsgBox "Valeur déjà présente dans l'onglet " & ws.Name _
& " en " & x.Address
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
End If
End If
Next ws
End Sub