Recherche doublons en VBA

D

Didier MAUCOTEL

Guest
Salut le forum,

Malgré l'excellent dossier de @+Thierry sur le sujet, je n'ai pas réussi à bidouiller ses lignes pour mon problème.

Je m'explique :

A l'aide de la formule CONCATENER, je rempli une cellule à l'aide de 3 autres.
Je cherche à tester la présence d'un éventuel doublon dans la colonne concatener, automatiquement après la dernière saisie.

Jusqu'ici, je m'en sors à peu près. Là où ça se complique, c'est que la colonne concatenée, elle sera masquée dans ma version définitive !

Bon, j'espère avoir été clair....

Merci d'avance pour les tuyaux et les psites de travail

A +

mauco
 
@

@+Thierry

Guest
Bonjour Didier, le Forum

Je ne saisis pas bien ta question ? que veux-tu tester ? si tu as la même valeur dans 2 ou 3 des colonnes concaténées ou bien la même valeur concaténée dans la colonne où se trouve ta formule de concaténation ?

Si c'est cette dernière possibilité, il te suffit de faire une boucle pour tester la présence de la valeur saisie dans la colonne...

Exemple tu as tes trois colonnes à concaténer de "A" à "C" et en colonne "D" tu as ta formule de concaténation.... en macro évènementielle à placer dans le Private Module de la feuille en question çà donnerait ceci (même si la colonne "D" est masquée) :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ligne As Integer
Dim Plage As Range, Cell As Range

If Application.Intersect(Target, Range("A:C")) Is Nothing Then Exit Sub
Ligne = Target.Row

Set Plage = Me.Range("D1:D" & Me.Range("D65536").End(xlUp).Row)

    For Each Cell In Plage
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Cell.Address <> Cells(Ligne, 4).Address Then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Cell = Cells(Ligne, 4) Then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MsgBox "Doublon Détecté en Ligne " & Cell.Row
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If
&nbsp;&nbsp;&nbsp;&nbsp;Next


End Sub

Bon Appétit
@+Thierry
 
@

@+Thierry

Guest
Bonjour Dan, re Didier, le Forum

Je ne t'avais pas vu en rédigeant ma réponse Dan, j'en profite pour te saluer.

Pas mal du tout ta proposition sans macro basée simplement sur "=COUNTIF(B:B,B16)=1" en liste de validation et en en format conditionnel.

Bon Appétit
@+Thierry
 
@

@+Thierry

Guest
Re Salut Dan

Oui, pour Didier, bien qu' il avait précisé qu'il le voulait en VBA dans son sujet, mais je trouve sympa et simple d'emploi ta solution, Dan.

Je file déjeuner, bon app à tous et toutes
@+Thierry
 
D

Didier MAUCOTEL

Guest
Salut Dan, salut Thierry

Merci à vous les gars pour vos solutions.

Oui Thierry, c'est bien la deuxième proposition qui est la bonne...tes lignes fonctionnent impec.
La formule de Dan est excellente également ; comme je suis dans le VBA depuis 2 mois (grâce ou à cause de ce site) je cherche toutes mes solutions ainsi...sans penser à plus simple.

Encore merci à vous deux

Mauco

PS : je suis un peu en retard dans les réponses, j'ai 10 heures de décalage avec la france !
 

Discussions similaires

Statistiques des forums

Discussions
314 158
Messages
2 106 500
Membres
109 600
dernier inscrit
Serge C.