Impossible d'extraire des doublons

Bonjour à tous

J'essaye d'extraire les doublons d'une colonne donc :

  • Je sélectionne la colonne qui contient les doublons
  • Dans le menu Données, je.sélectionne "filtre élaboré"
  • Je clique sur "Filtrer la liste sur place".
  • J'active la case à cocher "Extraction sans doublon"

Et....Rien ne se passe

Où ai-je commis une erreur ?

Merci

cette procédure vient de l'aide d' Excel et curieusement vous noterez qu' il n'est nulle part fait mention de la "zone de critère"...

Peut-être le pb vient-il de là ???

Bonsoir,

Le filtre élaboré sur place ne te supprimera pas les doublons !

-Il faut filtrer vers une zone d'extraction en dehors de la base .

Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"critères"), CopyToRange:=Range("extrait"), Unique:=True

ici,l'extraction se fait dans la plage nommée "extrait" (qui doit avoir les mêmes en-tête que

la BD).

amicalement

Claude.

Merci Claude

mais, où faut-il mettre la formule ?

Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _

"critères"), CopyToRange:=Range("extrait"), Unique:=True

re,

dans un module VBA

voici un exemple concret et simple

Fait attention : les en-têtes doivent être rigoureusement identiques

https://www.excel-pratique.com/~files/doc/BD3.xls

amicalement

Claude.

Bonjour Claude

Merci pour ta réponse

J'ai essayé ta méthode et j'ai une erreur

Voici ce que j'ai fait :

  • Je sélectionne la colonne qui contient les doublons
  • je clique sur "filtre élaboré" dans "données"
  • Dans la case "action" , je sélectionne "copier vers un autre emplacement"
  • Je clique sur "copier dans" et je sélectionne la 1° cellulede de la colonne "extraction" (colonne vide que j'ai ainsi nommée par rapport à la formule)
  • J'active la case à cocher "Extraction sans doublon"
  • je vais dans "outils" à "Macro" et je sélectionne ta macro :

Sub filtre() ''' filtre élaboré sans doublon

"critères"), CopyToRange:=Range("extraction"), Unique:=True

Je clique sur "éxécution"

Et là j'ai un message d'erreur :

"erreur d'éxécution 1004

La méthode 'range' de l'objet '_global' a échoué"

Peux-tu me conseiller ?

bonjour à tous,

baldwin,

Le + simple est que tu envoie les 10 1ères lignes de ta base (celle qui contient les doublons)

avec les titres.

Je te renverrais la structure pour extraire.

Claude.

re,

ton fichier en retour.

https://www.excel-pratique.com/~files/doc/BDbaldwin1.xls

Bonne soirée

Claude.

édit: utilise ce fichier, plutôt que d'essayer de le reproduire.

Bonsoir,

claude, je ne comprends pas comme toi, il semble vouloir obtenir la liste sans doublons de ses titres, si j'ai bien compris

regarde le fichier joint

PS, pour info, si tu sélectionnes la colonne B, et que tu fais Données/Filtre/Filtre Elaboré, "Filtrer la liste sur place", ne rien mettre dans "critères", et sélectionner "Extraction sans Doublons", j'obtiens le même résultat que mon fichier

https://www.excel-pratique.com/~files/doc/Classeurbaldwin_v1.xls

re,

baldwin, j'ai remarqué une colonne vide (H), il faut la supprimer.

saliut felix

Claude.

Un grand merci Claude pour ton tableau.

Cependant…j'ai deux petits points à éclaircir.

1-Je ne trouve pas la liste des originaux des doublons.

Où se trouve-t-elle ?

Ce que j'appelle un original de doublon c'est

Par ex

S'il y a les doublons :

Adrien Goetz

Adrien Goetz

Pour moi, l'original sera :

Adrien Goetz

Ou encore s'il y a les doublons :

Ahmadou Kourouma

Ahmadou Kourouma

Ahmadou Kourouma

Ahmadou Kourouma

Pour moi, l'original sera :

Ahmadou Kourouma

Je pensais que l'extraction de doublons donnait UN original à chaque fois, quelque soit le nombre de doublons au départ.

Or, dans le 2° tableau (qui est sensé donner les "originaux") il se trouve encore des doublons : Adrien Goetz et Ahmadou Kourouna sont en effet écrits 2 fois.

Peut-être fallait-il cliquer sur le bouton "extraction sans doublon" que tu as installé sur le tableur mais j'ai essayé ça ne déclenche rien…

2-tu ne m'as pas expliqué la raison de l'erreur avec la VBA.

"erreur d'éxécution 1004

La méthode 'range' de l'objet '_global' a échoué"

La connaître me permettrait de savoir faire fonctionner la procédure car je voudrais pouvoir à l'avenir faire cette manip seul.

(Excuse-moi si je suis lourd mais je suis vraiment débutant.)

Baldwin

Bonjour baldwin et à tous,

Petit rappel de l'expression "doublon" :

-Dans une liste à plusieurs colonnes, que l'on appelle "base de données"

1- on appelle "Doublon" une ou plusieurs lignes identiques sur toutes les colonnes.

Quand on fait un filtrage ou une extraction sans doublon, 1 seule ligne (ce que tu appelle

"original") est conservée.

2 - dans ton exemple :Adrien Goetz apparait 2 fois, mais ce n'est pas un doublon puisque :

dans le colonne "NOTE", l'un est vide, et l'autre a "Prix exaequo".

Pareil pour Ahmadou Kourouma , les colonnes n'ont pas les mêmes prix ni les mêmes années.

Ces deux exemples ne sont donc pas des doublons !

Pour ton erreur 1004 :

1 - colonne vide au milieu de la base.

2 - pour la zone d'extraction, il faut sélectionner toutes les colonnes avec les en-têtes.

Une base de données est un outil très puissant, mais qui demande une grande rigueur !

par ex : tu mets dans la colonne "NOTE" étranger et sur une autre ligne (étranger),

Bon courage

amicalement

Claude.

Merci Claude pour ces précisions précieuses

Pour ce qui concerne les doublons, j'ai bien compris mon erreur sur les "faux doublons" mais à ce propos existerait-il un moyen d' extraire les doublons sans tenir compte de ce qu'il y a dans les autres colonnes que celle des noms ?

De manière à obtenir chaque nom UNE seul fois

re,

Dans une base de données, je dirais non ! , aucun intérêt

J'ai l'impression que tu ne sait pas trop ce que tu veux faire !

Si tu veux extraire seulement sur une colonne, c'est pas une base qu'il te faut, mais

une liste.

- Fait une recherche avec "liste sans doublons" , tu trouveras plein d'exemples.

amicalement

Claude.

Bonjour, baldwin

bonjour Claude

@Baldwin, ce n'est pas la peine d'envoyer de question en messagerie privée, il est mieux de faire profiter tout le monde

Comme dit dans mon fil, tu as la procédure, pour filtrer

Pour le code, tu fais Alt + F11, et regarde dans le module1 (PS, tu peux supprimer le module2)

Sub unique()
Range("B2:B" & [B65000].End(xlUp).Row).Name = "titre"  'on nomme la zone de B2 à la dernière cellule non vide
                                                        'de la colonne B
Range("titre").AdvancedFilter Action:=xlFilterInPlace, unique:=True 'filtre élaboré, avec Extraction sans doublon
                                                        'de la colonne B
End Sub
Sub annule()
On Error Resume Next
ActiveSheet.ShowAllData 'pour tout réafficher
End Sub

Félix,

Concernant l'extraction de doublons sans tenir compte de ce qu'il y a dans les autres colonnes (liste sans doublons)

tu fais référence je pense au PS de ton fil :

"PS, pour info, si tu sélectionnes la colonne B, et que tu fais Données/Filtre/Filtre Elaboré, "Filtrer la liste sur place", ne rien mettre dans "critères", et sélectionner "Extraction sans Doublons", j'obtiens le même résultat que mon fichier"

Mais pourquoi sélectionner la colonne B alors que celle des titres de livres et que l'on cherche des doublons de noms d'auteur ?

Re-,

je croyais que c'était la liste des titres sans doublons que tu voulais

Si c'est celle des auteurs, tu sélectionnes la colonne A

et pour le code, remplace la première macro par celle-ci

Sub unique()
Range("A2:A" & [A65000].End(xlUp).Row).Name = "titre"
Range("titre").AdvancedFilter Action:=xlFilterInPlace, unique:=True
End Sub

Merci Félix mais…

Je sélectionne la colonne A, (auteurs)

je fais Données/Filtre/Filtre Elaboré,

je sélectionne "Filtrer la liste sur place",

je ne mets rien dans "critères",

je sélectionne "Extraction sans Doublons",

et...rien n'a bougé dans la colonne A……toujours 520 noms …alors qu'il ne devrait apparaître que des "originaux"

Est-ce bien ce que tu avais fait ??

Re-

vérifie bien, lorsque tu fais Données/Filtre/Filtre élaboré, dans la case "Plages", que tu as bien :

Feuil1!$A:$A

ou le nom de ton onglet à la place de Feuil1

Dans la plage j'ai :

$A$1:$L$520 et non Feuil1!$A:$A

le nom de mon onglet est "prix littéraires"

je n'ai donc pas non plus

prix littéraires$A$1:$L$520

Rechercher des sujets similaires à "impossible extraire doublons"