Private Sub Worksheet_Change(ByVal Target As Range)
Dim P As Range, R As Range
Set P = Range("A6:A" & Target.Row - 1)
Set R = P.Find(Target.Value, LookIn:=xlFormulas, LookAt:=xlWhole)
If Not R Is Nothing Then
MsgBox "Le N° " & R.Value & " est déjà saisie dans la ligne " & R.Row, vbCritical, "DOUBLON"
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
Target.Select
Else
Target.NumberFormat = "0###"" ""##"" ""##"" ""##"
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R As Range
For Each R In Range("A6:A" & Target.Row + 1)
If R = Target Then
MsgBox "Le N° " & R.Value & " est déjà présente dans la ligne " & R.Row, vbCritical, "DOUBLON"
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
Target.Select
Exit For
Else
Target.NumberFormat = "0###"" ""##"" ""##"" ""##"
End If
Next
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.CountIf(Range("A6:A" & Cells(Rows.Count, 1).End(xlUp).Row), Target) = 1 Then
Target.NumberFormat = "0###"" ""##"" ""##"" ""##"
Else
MsgBox "valeur déjà présente !", vbCritical, "Saisie refusée ..."
Application.EnableEvents = False
Target = ""
Application.EnableEvents = True
End If
End Sub