Anti doublon

M.D

XLDnaute Occasionnel
Bonsoir à tous
Dans mon formulaire de saisie, se trouvent plusieurs petits dysfonctionnements que j’aimerai bien voir supprimer
Le premier est l’anti-doublons.
La colonne « E » de ma base de données se trouvent des codes qui doivent être uniques. J’ai donc essayé sans succès de mettre en place une procédure qui est la suivante :

'Anti -Doublons
Private Sub TextBox_code_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Set f = Sheets("BD_eleve")
temp = Application.Match(Me.TextBox_code, f.[A2:A10000], 5)
If Not IsError(temp) Then
MsgBox "Doublon"
Cancel = True
Exit Sub
End If
End Sub

Je fais appel à votre savoir pour m’expliquer où se situe l’erreur. En effet quel que soit le code que j’inscris, après le clic j’ai le message doublons qui apparaît et je n’arrive pas de cette situation.
Avez-vous une explication à ce dysfonctionnement et une solution à me proposer.


Merci d’avance
M.D
 

Modeste

XLDnaute Barbatruc
Re : Anti doublon

Bonsoir M.D.

Application.Match, c'est la fonction EQUIV ... qu'est-ce donc que ce 5 en dernier argument??
Tu testes, par ailleurs, la colonne A, alors que tes doublons devraient ne pas exister en colonne E :confused:

Tant qu'à faire, il me semble qu'il serait plus simple d'utiliser
Code:
if Application.Countif(f.[E2:E10000],Me.TextBox_code) then MsgBox "Doublon!!"
si le test est vrai, c'est que le NB.SI renvoie autre chose que 0.

... Si j'ai bien compris ta demande ...
 

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz