Suppression des doublons dans une formule

Bonjour tout le monde

J'ai besoin que la colonne B reprenne la liste complète de la colone A sans doublon. La subtilité étant que je n'ai pas le droit d'utiliser de Macro et que cela doit tenir en une formule.

________A___________B

1___Orange_______Orange

2___Bleu__________Bleu

3___Orange_______Vert

4___Orange_______

5___Vert_________

6___Vert_________

Christophe.

bonjour,

faut il mettre à jour la liste automatiquement ?

on pourrait utiliser un filtre élaboré sans doublon

ou plus simplement copier la liste A la coller en C et activer la fonctionnalité supprimer les doublons du ruban données puisque vous êtes sous excel 2007

mais tout dépend de la finalité de la manipulation

je complète ma réponse avec ce petit fichier qui automatise la recherche sans doublon

2 contraintes :

1° - la liste initiale doit être triée

2° nécessité d'utiliser une liste de nombres qui s'incrémente seulement quand on change de nom dans la liste initiale

... à suivre en fonction de vos besoins

cordialement

Bonjour

bemann

si je lis l'énoncé

je n'ai pas le droit d'utiliser de Macro et que cela doit tenir en une formule.

t.quille

Pas besoin de tri quelconque

Avec une formule matricielle, à valider avec les 3 touches Ctrl+Maj+Entrée

Un exemple

Cordialement

2'273sans-doublon.xls (15.50 Ko)

bonjour

c'est beau comme du mozart amadeus

on pourrait peut être proposer une plage nommée dynamque pour le $A$2:$A$40 car si on rajoute des noms à la plage initiale la formule en colonne C ne fonctionne plus pour les derniers nom ajoutés

Il y a aussi que on ne sait pas (sauf erreur de ma part ) jusqu'où recopier la formule dans la colonne C

bravo

très cordialement

Bonjour Amadéus

Ca répond extement à ce que je voulais. Juste deux remarques après utilisation :

  • Sur 3000 entrée différente, le calcul se compte en minutes
  • Si possible, as-tu un ajout à ta formule pour ressorir le même tableau sans doublon, mais trié par ordre croissant ?

Si c'est possible bien sur

Christophe.

Re, bonjour

Bien sur

Sur 3000 lignes, le calcul matriciel est long

Donc, autant le réduire en créant un champ dynamique ajustable.

Le Nom "Noms" (pas très original) référe à la formule

=DECALER(Feuil1!$A$2;;;NBVAL(Feuil1!$A:$A)-1)

et représente la plage de valeurs de la colonne A

Une nouvelle formule toujours matricielle pour le tri.

sur l'exemple joint , en C2

=SI(SOMME(1/NB.SI(Noms;Noms))<LIGNES(C$2:C2);"";INDEX(Noms;EQUIV(MIN(SI(NB.SI(C$1:C1;Noms)=0;NB.SI(Noms;"<"&Noms);""));SI(NB.SI(C$1:C1;Noms)=0;NB.SI(Noms;"<"&Noms);"");0))

Cordialement

Si une colonne intermédiaire à mettre n'importe où dans ta feuille ou à masquer est possible tu as sur le fichier V2 une solution sans matricielle ultra-rapide.

Merc, c'est génial

Bonsoir à tous,

Ok si c'est un exercice sur les formules

sinon pourquoi se faire mal !

Sub SansDoublons()
Application.ScreenUpdating = False
    With Range("a1:a" & [a65000].End(xlUp).Row)
        .AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("b1"), Unique:=True
        .Offset(0, 1).Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlYes
    End With
End Sub

Amicalement

Claude

Edit Amadéus: Bonjour Claude. Depuis le temps, je l'aurai bien mis ton filtre, mais, notre ami ne voulait pas de VBA

Rechercher des sujets similaires à "suppression doublons formule"