Vérification ID unique
Mamiche31
Messages postés
13
Statut
Membre
-
Patrice33740 Messages postés 8930 Statut Membre -
Patrice33740 Messages postés 8930 Statut Membre -
Bonjour a tous,
Je souhaite créer une macro qui permette de déterminer si un numéro est unique dans une colonne.
Par exemple, si sur la colonne C qui correspond a l'ID d'une tache, je tape un ID qui existe déjà, je souhaite être alerté et ne pas pouvoir mettre ce numéro (vu qu'il existe déjà). En revanche, si cet ID n'existe pas, je peux alors le saisir sans problème.
Merci :)
Je souhaite créer une macro qui permette de déterminer si un numéro est unique dans une colonne.
Par exemple, si sur la colonne C qui correspond a l'ID d'une tache, je tape un ID qui existe déjà, je souhaite être alerté et ne pas pouvoir mettre ce numéro (vu qu'il existe déjà). En revanche, si cet ID n'existe pas, je peux alors le saisir sans problème.
Merci :)
A voir également:
- Vérification ID unique
- Id telephone - Guide
- Document id lycamobile ✓ - Forum Mobile
- Verification windows 11 - Guide
- Verification lien internet - Guide
- Gate first id ✓ - Forum Navigateur
1 réponse
Essaies :
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range
If Intersect(Target, Columns("C")) Is Nothing Then Exit Sub
If Target.Formula = "" Then Exit Sub
Set cel = Columns("C").Find(Target.Value, after:=Range("C1"), _
LookIn:=xlValues, lookat:=xlWhole)
If cel.Address = Target.Address Then
Set cel = Columns("C").Find(Target.Value, after:=cel, _
LookIn:=xlValues, lookat:=xlWhole)
End If
If cel.Address = Target.Address Then Exit Sub
MsgBox "ID existant déjà"
Target.Formula = ""
Target.Activate
End Sub
Et elle ne fonctionne pas, comment dois-je l'utiliser ?
Merci
Il suffit de copier le code ci-dessus dans le module de la feuille correspondante
Copier /clic droit sur l'onglet / visualiser le code / coller
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim cel As Range 'Si la cellule modifiée n'est pas en colonne C : terminé If Intersect(Target, Columns("C")) Is Nothing Then Exit Sub 'Si la cellule modifiée est vide : termuné If Target.Formula = "" Then Exit Sub 'Chercher dans la colonne C, la 1° cellule qui contient la même valeur Set cel = Columns("C").Find(Target.Value, after:=Range("C1"), _ LookIn:=xlValues, lookat:=xlWhole) 'Si la cellule trouvée est la même que celle modifiée ... If cel.Address = Target.Address Then '... chercher la cellule suivante contenant la même valeur Set cel = Columns("C").Find(Target.Value, after:=cel, _ LookIn:=xlValues, lookat:=xlWhole) End If 'Si la cellule trouvée est encore la même que celle modifiée : terminé If cel.Address = Target.Address Then Exit Sub 'sinon c'est qu'il existe une cellule contenant la même valeur MsgBox "ID existant déjà" 'dans ce cas effacer la valeur saisie et reselection la cellule Target.Formula = "" Target.Activate End Sub