Supprimer des doublons avec fonctions Si + Recherche

Bonjour,

J'aimerai avoir votre aide pour supprimer les doublons dans un fichier Excel. J'ai essayé la formule suivante :

=SI(M3=RECHERCHE(M3;$L$2:L2);"doublon";"Ok")

Je cherche à éliminer les doublons de la colonne L. Je considère par exemple que A-B-C, A-C-B, B-A-C, B-C-A, C-A-B, C-B-A c'est la même chose et donc n'avoir qu'un résultat pour les 3 lettres A, B et C

Sur la colonne N il manque des doublons. Certains ne sont pas pris en compte bizarrement

Merci de votre aide

18abc.zip (655.10 Ko)

Bonjour à tous !

Pas certain d'avoir correctement appréhendé votre besoin, je vous propose néanmoins de tester cette formule en N2 :

=SI(NB.SI($L$2:L2;L2)>1;"doublon";"Ok")

A étirer vers le bas.

Ca correspond a ce que je veux mais malheureusement ça ne marche pas à 100%. Certains doublons persistent encore. Mais merci pour ta réponse !

Le nombre de valeurs que doit contenir la colonne L après l'élimination des doublons est de 1140 (résultat d'une formule de maths)

Bonjour à tous de nouveau !

Ca correspond a ce que je veux mais malheureusement ça ne marche pas à 100%. Certains doublons persistent encore.

Un tantinet succinct comme réponse...

Un exemple de doublon non répertorié comme tel ? (Valeur et ligne)

Alors j'ai refait le test et j'ai trouvé un résultat différent de tout à l'heure. J'ai 650 combinaisons sur la "Feuil2". Donc il manque des combinaisons car je dois en trouver 1140. Je referai des tests demain. En tout cas merci et bonne soirée !

18abc.zip (771.95 Ko)

Bonjour à tous,

Vous n'avez qu'à trier vos éléments par ordre alphabétique dans une colonnes adjacente, il en ressortira la même combinaison à chaque fois.

Ensuite supprimez les doublons en vous appuyant sur cette colonne adjacente.

klin89

bonjour Klin89,AAaaAAaa,JFL,

on a 1.540 possibilités

20abc-1.zip (404.05 Ko)

Bonsoir à tous,

En colonne O, de O2 à O8001, j'ai appelé cette fonction personnalisée : =Tri_Mot1(G2) qui liste toutes les combinaisons.

Function Tri_Mot1(Mot As String) As String
    Dim e
    Set AL = CreateObject("System.Collections.ArrayList")
    For Each e In Split(StrConv(Mot, vbUnicode), Chr(0))
        If e <> "" Then AL.Add e
    Next
    AL.Sort
    Tri_Mot1 = Join(AL.ToArray, "")
    Mot = Tri_Mot1
End Function

En P2, ces 2 formules renvoient le nombre de combinaisons différentes soit 1540, le même résultat que BsAlv

=SOMMEPROD(1/NB.SI(O2:O8001;O2:O8001))
=NBVAL(UNIQUE(O2:O8001))

Place un filtre sur la colonne O pour visualiser tes doublons.

klin89

Bonjour à tous,

Merci pour vos nombreuses réponses !

J'ai manqué de clarté dans mon explication d'hier, en fait ce que j'aimerai c'est avoir toutes les combinaisons possibles entre les 20 lettres (de A à T), sans remise et sans tenir compte de l'ordre. Ca implique de supprimer les doublons du type AAB ou AAA où on trouve deux fois ou plus une lettre (je n'en ai pas parlé hier). On devrait trouver 1140 résultats normalement

Bien cordialement,

AAaaAAaa

Re,

1140 c'est le nombre de combinaisons de 3 éléments parmi 20.

Donc on fait quoi au final ?

klin89

re,

comme ceci ?

21abc-1.zip (402.32 Ko)

Bonjour,

D'après le fichier de BsAlv on a 1140 résultats donc c'est parfait !

"1140 c'est le nombre de combinaisons de 3 éléments parmi 20." En effet, c'est ce que je cherche Klin89

Maintenant si je dois changer le 3 ou le 20 par un autre chiffre, ça marche comment ?

Bonjour à tous ,

Moi aussi je veux jouer...

La V1 si on ne connait pas la liste des éléments composant les triplets.

La V2 qui possède, en colonne A, la liste des éléments composant les triplets.

nota : si vous nous aviez précisé le contexte à savoir que les composants des triplets étaient des nombres de 1 à n, la solution aurait été plus simple.

...

re, salut Mafraise,

Vous modifiez les nom dans le tableau structuré dans la colonne A, vous changez le nombre en D1 et vous poussez le bouton

22abc-1.xlsb (66.90 Ko)

Re AAaaAAaa,

Vous parlez de combinaison.

On part de 20 lettres toutes différentes. On recherche les combinaisons de 3 parmi 20. il y en aura 1040.

Or dans une combinaison de 3 par 20, quand les 20 sont tous différents, les triplets obtenus ne peuvent contenir deux lettres identiques.

Dans les pseudo-combinaisons que vous affichez, un grand nombre ne sont pas des combinaisons (toutes celles qui ont au moins deux lettres identiques).

Génial avec le bouton pour la macro BsAlv !

Merci à tous ! Bonne soirée !

Rechercher des sujets similaires à "supprimer doublons fonctions recherche"