IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Filtrer les doublons en conservant une seule fois le doublon


Sujet :

Excel

  1. #1
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut Filtrer les doublons en conservant une seule fois le doublon
    Bonjour,

    Comment filtrer une colonne contenant plusieurs valeurs identiques tout en conservant une valeur de chaque donnée multiple ?

    Données de la colonne
    7 lignes affichées
    A
    A
    A
    B
    B
    C
    D

    Résultat du filtre
    4 lignes affichées
    A
    B
    C
    D

    Je vous remercie
    Meilleures salutations
    Philippe

  2. #2
    Membre Expert
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 247
    Par défaut
    Bonjour
    en ajoutant une nouvelle colonne qui indiquera VRAI si c'est la première occurrence d'un élément

    = A1=A2 si vos données en double sont consécutives

    sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =EQUIV([@[A filtrer]];[A filtrer];0)=LIGNE([@[A filtrer]])-LIGNE(Tableau1[[#En-têtes];[A filtrer]])
    Ou sans ajout de colonne supplémentaire, en mettant une mise en forme conditionnelle sur la colonne comme ci-dessus et en filtrant suivant cette MEFC (police ou remplissage)

    Stéphane

  3. #3
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Bonjour,

    Je ne comprends pas ce code, si je le colle tel quelle aucune réaction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =EQUIV([@[A filtrer]];[A filtrer];0)=LIGNE([@[A filtrer]])-LIGNE(Tableau1[[#En-têtes];[A filtrer]])
    Merci pour les infos supplémentaires

  4. #4
    Membre Expert
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 247
    Par défaut
    Il faut l'adapter à votre tableau
    Je pars du principe que les données sont dans un tableau structuré (LA 1ere bonne pratique Excel à mon sens)
    ensuite "[A filtrer]" désigne la colonne sur laquelle effectuer le filtre
    et "Tableau1" le nom du tableau

    EQUIV([@[A filtrer]];[A filtrer];0) va renvoyer la première position de l'élément actuel dans la colonne
    LIGNE([@[A filtrer]])-LIGNE(Tableau1[[#En-têtes];[A filtrer]]) va renvoyer le n° de la ligne en cours

    si c'est égal c'est que c'est la première occurrence de l'élément et donc on filtre

    Stéphane

  5. #5
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 178
    Par défaut
    Hello,
    il suffit dans Données/Filtrer/Avancé de cocher Extraction sans doublon
    ou dans Données/outils de données utiliser Supprimer les doublons
    filtrer-des-valeurs-uniques-ou-supprimer-des-doublons

    Ami calmant, J.P

  6. #6
    Membre Expert
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 247
    Par défaut
    Moi j'ai compris que la demande est de filtrer sur la première occurrence de chaque terme et non de supprimer les autres lignes

  7. #7
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Citation Envoyé par Raccourcix Voir le message
    Il faut l'adapter à votre tableau
    Je pars du principe que les données sont dans un tableau structuré (LA 1ere bonne pratique Excel à mon sens)
    ensuite "[A filtrer]" désigne la colonne sur laquelle effectuer le filtre
    et "Tableau1" le nom du tableau

    EQUIV([@[A filtrer]];[A filtrer];0) va renvoyer la première position de l'élément actuel dans la colonne
    LIGNE([@[A filtrer]])-LIGNE(Tableau1[[#En-têtes];[A filtrer]]) va renvoyer le n° de la ligne en cours

    si c'est égal c'est que c'est la première occurrence de l'élément et donc on filtre

    Stéphane
    Je ne peux pas travailler avec un tableau structuré dans ce fichier

    Help me, please

    Pour les autres solutions proposées, je ne veux pas supprimer les doublons ou filtrer les doublons, voir mon premier post

    Merci à tous pour votre intérêt

  8. #8
    Membre Expert
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 247
    Par défaut
    Eh bien, adaptez la formule à une plage non structurée

    EQUIV(A2;$A$2:$A$100;0)=LIGNE()-1 renverra VRAI si c'est la première occurrence de la valeur dans la colonne et FAUX sinon
    le -1 car les données commencent en ligne 2 (et donc la ligne de titre est en ligne 1)

    Stéphane

  9. #9
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 178
    Par défaut
    Citation Envoyé par goninph Voir le message
    Pour les autres solutions proposées, je ne veux pas supprimer les doublons ou filtrer les doublons, voir mon premier post
    Arf ! ben justement j'ai essayé de faire ce qui est demandé dans le Post N°1 ou alors quelque chose m'échappe

    Nom : FiltreAvancé.gif
Affichages : 350
Taille : 143,7 Ko

    Ami calmant, J.P

  10. #10
    Membre Expert
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 247
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Arf ! ben justement j'ai essayé de faire ce qui est demandé dans le Post N°1 ou alors quelque chose m'échappe

    Ami calmant, J.P
    En effet
    mais si on a des données en colonne B il faut bien penser à ne filtrer que sur la colonne A dans le filtre avancé
    Stéphane

  11. #11
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Citation Envoyé par Raccourcix Voir le message
    Eh bien, adaptez la formule à une plage non structurée

    EQUIV(A2;$A$2:$A$100;0)=LIGNE()-1 renverra VRAI si c'est la première occurrence de la valeur dans la colonne et FAUX sinon
    le -1 car les données commencent en ligne 2 (et donc la ligne de titre est en ligne 1)

    Stéphane
    Je l'ai adapté à ma plage, mais rien ne se colore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ="EQUIV(S10;$S$10:$S$20000;0)=LIGNE()-10"

  12. #12
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Arf ! ben justement j'ai essayé de faire ce qui est demandé dans le Post N°1 ou alors quelque chose m'échappe

    Nom : FiltreAvancé.gif
Affichages : 350
Taille : 143,7 Ko

    Ami calmant, J.P
    Effectivement merci pour la vidéo, super

    Mais je préfère la mise en forme conditionnelle est ensuite filtrer par couleur, ça ne fonctionne pas encore, mais je suis confiant

    Merci

  13. #13
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Citation Envoyé par goninph Voir le message
    Je l'ai adapté à ma plage, mais rien ne se colore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ="EQUIV(S10;$S$10:$S$20000;0)=LIGNE()-10"
    En fait si je colle cette formule dans la colonne B, elle affiche VRAI ou FAUX, mais il faut une colonne supplémentaire que je n'ai pas

    Comment faire pour adapter cette formule dans les mises en formes conditionnelles sans colonne supplémentaire ?

    Merci

  14. #14
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Hello,

    J'ai trouvé mon bonheur, mais j'ai dû ajouter une colonne doublons

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(S10="";"";SI(NB.SI($S$10:$S10; $S10)=1;NB.SI($S$10:$S$2000; $S10);"x"))
    Lorsque qu'elle trouve un doublon, affiche : x
    Lorsqu'il n'y a qu'une occurrence, affiche : 1
    Lorsqu'il y a plusieurs occurrences, affiche : le nombre d'occurrences

    Ensuite, on peut colorer via un format conditionnel et/ou filtrer par couleur, par x, par quantité, etc.

    Merci à tous
    Bon weekend

  15. #15
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je ne peux pas travailler avec un tableau structuré dans ce fichier
    C'est dommage, c'est plus efficace

    Mais je préfère la mise en forme conditionnelle est ensuite filtrer par couleur, ça ne fonctionne pas encore, mais je suis confiant
    Après avoir sélectionné les données de la colonne A, soit A5:A13, entrer la formule ci-dessous dans la mise en forme conditionnelle et choisir un format (pour l'exemple couleur de la police rouge)
    ce qui donne comme résultat

    Nom : 220622 - Filtrer les doublons par couleur.png
Affichages : 222
Taille : 8,6 Ko

    Il suffit ensuite de filtrer par couleur
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  16. #16
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Merci à tous pour votre aide

  17. #17
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Bonjour,

    J'ai un nouveau tableau structuré

    Avec une colonne Cmde et une colonne Doublons

    Dans la colonne doublon, je veux afficher 1 pour tous les numéros de commande présents et afficher une autre valeur dès la deuxième récurrence et plus...
    Par exemple un x ou un 2 si c'est la deuxième récurrence, un 3 si troisième récurrence, etc.

    Merci pour vos lumières

  18. #18
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,

    La formule est la même que pour la Mise en forme conditionnelle sauf que du fait que c'est un tableau structuré on peut remplacer A2 par [@[N° commande]]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NB.SI($A$2:[@[N° commande]];[@[N° commande]])
    Illustration

    Nom : 231230 Doublon Commande.png
Affichages : 132
Taille : 10,7 Ko
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  19. #19
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Bonjour Philippe,

    Corrigé selon les données de mon tableau, mais toujours impossible de filtrer tous les 1 pour lister tous les numéros de commandes sans doublons

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NB.SI([Cmde]:[@Cmde];[@Cmde])
    Nom : 2023-12-30_20-12-36.png
Affichages : 138
Taille : 35,8 Ko

    Le filtre devrait afficher :
    2364871.eta01
    2364871.eta02
    2364871.eta03
    2364871.eta04

    Il y a une étape qui m'échappe

    L'exemple ci-dessous est exactement ce que je cherche

    Merci pour le coup de main

    MSO365

  20. #20
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Bonjour Philippe,
    Merci pour toute l'aide apportée en 2023 et meilleurs voeux pour 2024

    Je n'ai pas encore trouvé la solution, mais je cherche...

    En fait il ne faut pas pas remplacer $A$2, a formule ne fonctionne pas avec [@[N° commande]]
    Étrange

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/03/2016, 15h09
  2. Parcourir les sous dossiers en une seule fois
    Par callofduty dans le forum MATLAB
    Réponses: 19
    Dernier message: 18/01/2014, 19h44
  3. lu tous les jours mais exécuté une seule fois par mois
    Par sianto dans le forum Scripts/Batch
    Réponses: 13
    Dernier message: 17/11/2008, 09h08
  4. [XSLT] Afficher une seule fois les attributs redondants...
    Par kobe dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 17/11/2005, 09h52
  5. [Configuration] filtrer le flux sortant une seule fois, en debut de code...
    Par misstinkiete dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 13/10/2005, 21h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo