Private Sub Worksheet_Change(ByVal Target As Range)
Dim Pl As Range 'déclare la variable Pl (Plage) = site
Set Pl = Range("C26:C35") 'définit la plage Pl
If Application.Intersect(Pl, Target) Is Nothing Then Exit Sub 'si le changement a lieu ailleurs que dans la plage Pl, sort de la procédure
If Target.Value = "" Then Exit Sub 'si le cellule est effacée, sort de la procédure
If Application.WorksheetFunction.CountIf(Pl, Target) > 1 Then 'condition : si le nombre d'occurrence de la cellule éditée est supérieur à 1
MsgBox "The project code you have entered already exists. Please enter another one." 'message
Target.ClearContents 'efface le contenu de la cellule éditée
Target.Select 'sélectionne la cellule éditée
End If 'fin de la condition
End Sub