Bonjour à tous,
Je suis sur un problème depuis quelques jours et je n'arrive pas à me débloquer. J'ai cherché partout dans le forum mais impossible de trouver un sujet comparable (ou alors je n'arrive pas à adapter mon code).
Voici mon problème : J'aimerais que pour la colonne B, Excel me renvoie un message d'erreur (MessageBox "Numéro dossier déjà existant") si l'utilisateur entre dans une cellule de la colonne B un numéro qui existe déjà dans cette même colonne.
Un exemple sera peut-être plus parlant : Si en B6 je rentre la valeur "12/26" mais qu'elle est déjà présente en B3 alors une messagebox s'affiche, signalant l'erreur. Si la valeur n'existe pas déjà alors rien ne se passe.
Le but de mon code serait de vérifier qu'un numéro de dossier n'existe pas déjà dans ma colonne lorsque l'utilisateur entre une nouvelle valeur dans cette colonne.
Voici le code que j'ai pour l'instant, et qui ne fonctionne pas malheureusement :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Lig As Integer
Dim Col As String
Dim Nbrlig As Long
Dim msg
Dim condition As Integer
Dim Cible As String
If Target.Column = 2 Then
Col = "B"
condition = 0
Cible = Cells.Range("B:B")
Nbrlig = 0
Nbrlig = Cells(65536, Col).End(xlUp).Row
For Lig = 1 To Nbrlig
If Application.Match(Cible, Worksheet("Feuil1").Range("B:B").Value, 0) Then
condition = 1
End If
Next
If condition = 1 Then
msg = MsgBox("SEP déjà existant", vbOKOnly, "Attention")
End If
End If
End Sub
Je vous joint également un document excel.
PS 1 : Je ne sais pas comment définir ma cellule "Cible". Elle représente la cellule où l'utilisateur entre une nouvelle valeur. C'est cette cellule qui devra être comparée avec toutes les autres parmi la colonne B.
PS 2 : ma version de Excel est la 2007
Je vous remercie par avance pour votre aide précieuse !
Cordialement,