Private Sub Worksheet_Change(ByVal Target As Range)
Dim plage As Range, c As Range
Set plage = Range("A:A") 'à adapter
Set Target = Intersect(Target, plage, UsedRange)
If Target Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
For Each c In Target 'si entrées multiples
If c <> "" Then If Application.CountIf(plage, c) > 1 Then MsgBox "Doublon en " & Target.Address(0, 0) & " l'entrée va être annulée...", 48: Application.Undo: Exit For
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
Valeur identique sur la colonneC'est quoi un doublon ? Casse exactement équivalente ou non considérée ? Ignorer les blancs de marges ?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim plage As Range, c As Range
Set plage = Range("A:A") 'à adapter
Set Target = Intersect(Target, plage, UsedRange)
If Target Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
For Each c In Target 'si entrées multiples
If c <> "" Then If Application.CountIf(plage, c) > 1 Then MsgBox "Doublon en " & Target.Address(0, 0) & " l'entrée va être annulée...", 48: Application.Undo: Exit For
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
'Paramètres de traitement
Const NoColonneConcernée = 1
Const NbLignesTitre = 1
Const AccepteValeurVide = False
Const StringCompare = True
Const IgnorerCasse = True
Const IgnorerDiacritiques = True
Const TrimCompare = True
Merci il fonctionne parfaitementBonjour Jorelle27, Dudu2,
Placez cette macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :
A+VB:Private Sub Worksheet_Change(ByVal Target As Range) Dim plage As Range, c As Range Set plage = Range("A:A") 'à adapter Set Target = Intersect(Target, plage, UsedRange) If Target Is Nothing Then Exit Sub Application.EnableEvents = False 'désactive les évènements For Each c In Target 'si entrées multiples If c <> "" Then If Application.CountIf(plage, c) > 1 Then MsgBox "Doublon en " & Target.Address(0, 0) & " l'entrée va être annulée...", 48: Application.Undo: Exit For Next Application.EnableEvents = True 'réactive les évènements End Sub