Recherche doublons sur 2 colonnes

Bonjour tout le monde, bonjour le forum,

J'utilise un Userform (U_CratModif) pour remplir une base de données, et pour éviter d'entrer 2 fois la même personne, Je veux comparer ce que j'entre dans les 2 textBox nom et prénom avec ce qui existe déjà dans la colonne ("A") et si il y a similitude de nom, recherche en colonne ("B") pour le prénom.

Si une correspondance est trouvée, une boite de dialogue m'en prévient et me fais sortir de la procédure d'enregistrement...

J'ai trouvé sur le net ce code, auquel j'ai ajouté la ligne en surbrillance, mais je sais pas l'adapter pour faire ce que je souhaite...

Option Explicit

' Une piste. La colonne de recherche est en A :

Sub Doublon()

Dim Plage As Range

Dim Cel As Range

With Worksheets("Inscriptions")

'en colonne "A" à partir de A2

Set Plage = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))

Set Plage = .Range(.Cells(2, 2), .Cells(.Rows.Count, 1).End(xlUp))

End With

'boucle la plage de la feuille "Compte" et cherche chaque valeur

'en correspondance exacte dans la plage de la feuille "Source"

For Each Cel In Plage

If Application.CountIf(Plage, Cel.Value) > 1 Then

MsgBox "Attention, la valeur '" & Cel.Value & "' est en doublon," _

& " veuillez éliminer manuellement le double situé en '" & Cel.Address(0, 0) _

& "' avant de pouvoir exporter les données !"

Cel.Interior.ColorIndex = 3

End If

Next Cel

End Sub

Auriez vous une idée pour m'aider...?

Merci de votre aide...

Bonjour

Essaie ça :

Private Sub CommandButton1_Click()

     Dim plageN As Range, plageP As Range
     Dim Cel As Range

     With Sheets("Inscriptions")
        'en colonne "A" à partir de A2
        Set plageN = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))
        Set plageP = .Range(.Cells(2, 2), .Cells(.Rows.Count, 1).End(xlUp))
     End With

     'boucle la plage de la feuille "Compte" et cherche chaque valeur
     'en correspondance exacte dans la plage de la feuille "Source"
     Range(plageN, plageP).Interior.ColorIndex = xlNone
     For Each Cel In plageN
        If UCase(Cel.Value) = UCase(TextBox1) And UCase(Cel.Offset(0, 1).Value) = UCase(TextBox2) Then
            MsgBox "Attention, la valeur '" & Cel.Value & "' est en doublon," _
                    & " veuillez éliminer manuellement le double situé en '" & Cel.Address(0, 0) _
                    & "' avant de pouvoir exporter les données !"
            Unload Me
            Range(Cel, Cel.Offset(0, 1)).Interior.ColorIndex = 3
         End If
     Next Cel
End Sub

Bye !

bonsoir gmb,

Merci pour ton aide, j'ai testé ton code qui fonctionne...

Je l'ai placé dans le VBA de la feuille "Inscriptions", mais il ne fait pas exactement ce que je souhaite, puisqu'

Voir le résultat en feuille "Inscription"...!

J'ai manqué de précision dans la description de mon souhait et je te demande de m'en excuser...

Je voudrais cette macro pour contrôler les enregistrement de membres dans la feuille "Membres"

Je l'ai donc copier dans la feuille "Membres" en changeant les colonnes de travail A et B en B et C, et là, il me met en surbrillance les noms en double, et les prénom en double en mélangeant la recherche dans les 2 plages...

Voir le résultat en feuille "Membres"...!

Ce que je cherche à faire, c'est vérifier avant l'enregistrement que le membres que j'entre dans le UserForm "Ajouter un nouveau membre (auquel on accède par la feuille "Menu" ==>bouton "Gestion des membres du club" ==> bouton "Ajouter") n'est pas déjà inscrit dans la feuille "Membre".

si le nom et le prénom entrés dans les TexBox2 et TexBox3 existent déjà dans la feuille "Membres", on interdit l'enregistrement..

Si le nom existe mais pas le prénom (2 membres d'une même famille par exemple) on autorise l'enregistrement...

En tout cas merci de t'être intéressé a mon problème...

Voir mon fichier joint:

Bonsoir,

Une idée, lors de la saisie d'un nouveau membre, recherche les membres existants à partir du second caractère saisie pour le nom.

à vous de voir, d'adapter, de modifier...

Bonjour à tous

Nouvelle version.

Bye !

gmb a écrit :

Bonjour à tous

Nouvelle version.

Bye !

Bonjour gmb,

Merci pour ce code qui fait exactement ce que je souhaitais...

très efficace, merci encore...

A+


Thihii a écrit :

Bonsoir,

Une idée, lors de la saisie d'un nouveau membre, recherche les membres existants à partir du second caractère saisie pour le nom.

à vous de voir, d'adapter, de modifier...

Bonjour Thihii,

Merci pour ta participation, mais j'ai préféré la solution clef en main de gmd.

Merci encore de t'être intéressé à mon problème...

A+

Rechercher des sujets similaires à "recherche doublons colonnes"