Répérer les lignes dont les valeurs doublonnent sur une plage

Fermé
bambifioule Messages postés 13 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 26 avril 2015 - 26 avril 2015 à 13:10
via55 Messages postés 14474 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 19 septembre 2024 - 26 avril 2015 à 21:48
Bonjour à tous !
Voici un petit tableau dans lequel j'aimerais faire apparaître les doublons lorsqu'Excel détecte que les 3 valeurs sont les mêmes, mêmes si elles sont positionnées dans un ordre différent. Ce qui est le cas en ligne 2 et en ligne 4 par exemple.
Ligne 2 : 1998 2000 2005
Ligne 4 : 2005 1998 2000

Quelqu'un aurait-il une formule pour résoudre ceci ? Un grand merci par avance.

2 réponses

via55 Messages postés 14474 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 19 septembre 2024 2 728
26 avril 2015 à 14:41
Bonjour bambifioule

Par formule, longue formule en D1, à étirer ensuite :
=SI(ET(SIERREUR(EQUIV(A3;$A$2:$A$5;0);0)+SIERREUR(EQUIV(A3;$B$2:$B$5;0);0)+SIERREUR(EQUIV(A3;$C$2:$C$5;0);0)<>LIGNE()+1;SIERREUR(EQUIV(B3;$A$2:$A$5;0);0)+SIERREUR(EQUIV(B3;$B$2:$B$5;0);0)+SIERREUR(EQUIV(B3;$C$2:$C$5;0);0)=SIERREUR(EQUIV(A3;$A$2:$A$5;0);0)+SIERREUR(EQUIV(A3;$B$2:$B$5;0);0)+SIERREUR(EQUIV(A3;$C$2:$C$5;0);0);SIERREUR(EQUIV(C3;$A$2:$A$5;0);0)+SIERREUR(EQUIV(C3;$B$2:$B$5;0);0)+SIERREUR(EQUIV(C3;$C$2:$C$5;0);0)=SIERREUR(EQUIV(A3;$A$2:$A$5;0);0)+SIERREUR(EQUIV(A3;$B$2:$B$5;0);0)+SIERREUR(EQUIV(A3;$C$2:$C$5;0);0));"doublon";"")

mais possible aussi avec une fonction personnalisée, exemple à partir de tes données :
https://www.cjoint.com/?0DAoORYTWJT

Cdlmnt
Via
0
bambifioule Messages postés 13 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 26 avril 2015
26 avril 2015 à 20:54
Hello, merci infinement pour cette réponse ! Concernant la macro j'aurais besoin de l'adapter pour détecter les doublons sur 5 colonnes.
Je suis entrain de compléter le code que tu as écrit, mais sur la fin, je ne sais pas trop comment faire :

Function doublons(cellule As Range)
doublons = ""
Dim dl As Long
'derniere ligne remplie
dl = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row + 1
'ligne et colonne de la plage
lig = cellule.Row
col = cellule.Column
' valeurs de la cellule et des 2 cellules à droite
a = Cells(lig, col).Value
b = Cells(lig, col + 1).Value
c = Cells(lig, col + 2).Value
d = Cells(lig, col + 3).Value
e = Cells(lig, col + 4).Value
'boucle sur les lignes du tableau
For t = 2 To dl
' si autre ligne que celle de la formule
If t <> lig Then
' valeurs des 3 cellules de cette ligne
a2 = Cells(t, col).Value
b2 = Cells(t, col + 1).Value
c2 = Cells(t, col + 2).Value
' comparaison avec les valeurs de la ligne de la formule et si identique doublon
If (a = a2 And (b = b2 And c = c2 Or b = c2 And c = b2)) Or (a = b2 And (b = a2 And c = c2 Or b = c2 And c = a2)) Or (a = c2 And (b = b2 And c = a2 Or b = a2 And c = b2)) Then doublons = "doublon"
End If
Next
End Function
0
via55 Messages postés 14474 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 19 septembre 2024 2 728 > bambifioule Messages postés 13 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 26 avril 2015
26 avril 2015 à 21:03
Re,

Avec 5 colonnes ç'est plus complexe il faut envisager tous les cas de figure dans le IF; ça devient mission sinon impossible mais du moins ardue car là il n'y a pas 6 possibilités comme précédemment mais 120 !!
Il faut trouver une autre méthode; j'y réfléchis et je te fais retour dès que possible
0
bambifioule Messages postés 13 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 26 avril 2015 > via55 Messages postés 14474 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 19 septembre 2024
26 avril 2015 à 21:09
Oki c'est bien ce que je pressentais lorsque j'ai vu les combinaisons dans le code !
Merci à toi, c'est vraiment très sympathique de rendre service ;)
0
via55 Messages postés 14474 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 19 septembre 2024 2 728 > bambifioule Messages postés 13 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 26 avril 2015
Modifié par via55 le 26/04/2015 à 21:50
Plusieurs fois que mon message de réponse s'efface
Je t'ai donc répondu en MP
Cdlmnt
Via
0
bambifioule Messages postés 13 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 26 avril 2015
26 avril 2015 à 20:36
Un grand merci pour ces deux solutions.
La première n'a pas très bien marché sachant que je comptais ajouter des nombres en dessous de la liste existante. Par contre le fichier avec la macro fonctionne super bien !





Très bonne soirée à toi et encore merci pour ton aide !
0