[Excel] Masquer les séries d'élément en doublon

Bonjour tout le monde,

Je fais appel à la communauté de CCM pour un probleme :) En éspérant trouver des idées ou une nouvelle vision du probleme afin de trouver une solution :)

Dans le cadre d'un travail, je dois effectuer un écrémage de données, j'aimerais savoir comment je pourrais masque les series en doublon.

Voici un extrait de mon tableau,

A: Le nom du trajet (ce nom change pour chaque nouvel série)
B: ID de l'arret
C: Le l'ordre des arret du bus dans le trajet
D: le nom de la ligne de bus

A B C D
86AVL 200415009 1 AVL1
86AVL 200415010 2 AVL1
86AVL 200415006 3 AVL1
86AVL 200415003 4 AVL1
86AVL 200405035 5 AVL1
86AVL 200405026 6 AVL1
86AVL 200405023 7 AVL1
85AVL 200415009 1 AVL1
85AVL 200415010 2 AVL1
85AVL 200415006 3 AVL1
85AVL 200415003 4 AVL1
85AVL 200405035 5 AVL1
85AVL 200405026 6 AVL1
85AVL 200405023 7 AVL1
300AVL 200405035 1 AVL1
300AVL 200415003 2 AVL1
300AVL 200415006 3 AVL1
300AVL 200415012 4 AVL1
300AVL 200415009 5 AVL1
353AVL 200405035 1 AVL1
353AVL 200415003 2 AVL1
353AVL 200415006 3 AVL1
353AVL 200415012 4 AVL1
353AVL 200415009 5 AVL1
376AVL 200405035 1 AVL10
376AVL 200405026 2 AVL10
376AVL 200405023 3 AVL10
376AVL 200405020 4 AVL10
376AVL 200405005 5 AVL10
376AVL 200419013 6 AVL10
376AVL 200410005 7 AVL10
376AVL 200410003 8 AVL10
376AVL 200410004 9 AVL10
384AVL 200405035 1 AVL10
384AVL 200405026 2 AVL10
384AVL 200405023 3 AVL10
384AVL 200405020 4 AVL10
384AVL 200405005 5 AVL10
384AVL 200419013 6 AVL10
384AVL 200410005 7 AVL10
384AVL 200410003 8 AVL10
384AVL 200410004 9 AVL10

Les suites varie de 2 arrets à 52, et j'aimerais savoir comment je pourrais détecter les différentes séries pour afficher chaque sorte de série, sans doublon

pouvez vous é'aider s'il vous plait ? m'aiguiller sur les formule qui pourrais m'aider ?

Merci d'avance pour votre aide, agreeable journée à tout le monde.

G Guillaume

16 réponses

Résumé de la discussion

Écrémage de données visant à détecter et afficher sans doublon des séries de trajets et de lignes de bus, dont les suites varient de 2 à 52 arrêts. Plusieurs solutions proposées incluent l'utilisation de fonctions Excel avancées, de macros et de dictionnaires, avec des essais sur des jeux importants de données (320 000 lignes) et des limites de performances. Des échanges décrivent des approches visant à pré-décomposer les trajets en séries distinctes, à récupérer les IDs d'arrêt en ordre unique et à filtrer les doublons par clé composée. En dernier, des tests pratiques montrent des chiffres variant autour de 1130 à 1138 trajets uniques selon les méthodes et les contraintes matérielles et les configurations utilisées.

Bobot (l’IA à votre service)
  1. Le code commenté
    https://www.cjoint.com/c/EFqm0yq3rtg

    Question. Y a t' il des trajets-doublons dans cette feuille ?

    RQ1. J'ai une différence de 8 trajets avec la version "feuille" de JvDo
    RQ2. Si je n'ai pas fait d'erreur, le nombre total de trajets est 1308 (doublons compris).
    1. Bonjour à tous,

      > ccm81 : je t'ai mis le fichier complet en csv zippé au cas où tu voudrais jouer plus loin.
      https://www.cjoint.com/c/EFrltUsFVnZ

      plus généralement, voici la séquence manuelle qui me fait aboutir à 1 138 séquences uniques :

      Quelques titres de colonnes pour se repérer : Colonne L : doublons, Colonne M : séquences, Colonne N : toto
      1) passer l'option de recalcul de la feuille en Calcul manuel
      2) contrôle préalable, test unicité trip_id, en colonne doublons (L2 puis recopie vers le bas) :
      =SI(B2<>B3;SOMMEPROD(--(B2=B3:$B$326414));"")
      .
      F9 pour recalculer. Résultat : OK. Effacer colonne L
      3) construction des séquences par concaténation : en colonne séquences (M2 puis recopie vers le bas)
      =SI(B2=B1;M1;"")&E2&"|"&F2&"|"

      F9 pour recalculer
      copier/collage spécial des séquences
      4) identification des séquences complètes, dans la colonne doublons (L2 puis recopie vers le bas) :
      =SI(B2<>B3;1;"")

      F9 pour recalculer
      copier/collage spécial des doublons
      5) tri doublons croissant + séquences croissant pour avoir les séquences complètes de chaque trip_id en haut (les 1 de doublons) et triées pour identifier les doublons. 15 701 séquences complètes trouvées
      6) identifier les séquences uniques, colonne toto (en N2 puis recopie vers le bas) :
      =SI(L2<>1;"";SI(M2<>M1;1;""))
      . 1 138 séquences uniques identifiées
      F9 pour recalculer
      copier/collage spécial colonne N
      tri croissant sur N + séquences croissant pour avoir les séquences complètes uniques , chacune recouvrant plusieurs trip_id bien sûr. 1 138 séquences complètes uniques trouvées
      7) Fin du traitement manuel. Repasser en calcul automatique. Les 1 138 séquences uniques sont en lignes 2 à 1 139 (présence des 1 colonnes N)

      cordialement
  2. Bonjour

    Après quelques bugs corrigés
    un essai sur le fichier envoyé par JvDo (merci à toi pour la bête en .xls)
    https://www.cjoint.com/c/EFqj4E37S7g

    RQ. Il reste un petit souci sur la taille du tableau résultat (réglé bourrin vite fait, mais je vais y réfléchir)

    Cdlmnt
    1. Par contre je ne trouve que 1130 trajets différents
    2. Bonjour à vous CCM81 et vous JvDo,
      >JvDo
      >Ccm81

      c'est réellement énorme ce que vous avez fait ! Et je vous remercie :) vous venez de me faire avancer de quelque dizaine d'heure de boulot :)

      Par contre, sans abuser de vous. Pouvez m'expliquer comment vous avez fait ?
      Car je ne comprend réellement pas le code :) et c'est deux manière différente ou la même avec des choses

      Savez vous expliquer le raisonnement ?

      Encore un grand merci pour votre aide, je suis en train de calculer le nombre de trajet différent pour vérification :)

      Je vous remercie encore
  3. Bonsoir,

    après 25 plantages pour ressources insuffisantes, abandon des formules matricielles et copier/collage valeur à chaque étapes de mon travail manuel, j'arrive à 1138 trajets différents.
    http://www.cjoint.com/c/EFpxRDZrC0K
    c'est du xls.

    cordialement
    1. Et tu as essayé sur ton dernier fichier ?
      https://www.cjoint.com/c/EFpujRR4Ymg
      1. Bonjour ccm81,

        Oui bien entendu j'ai essayé sur le fichier que je vous ai passer, mais chaque fois, la même ligne est erroné :/

        Est ce que je fait une erreur dans la manoeuvre ? Je copie le code que vous avez transcrit
    2. 1. MoreFonc est une macro complémentaire (.xla) qui ajoute des fonctions à celles d'excel. A installer (Outils/Macros complémentaires, ...) sur le poste où ces nouvelles fonctions sont utilisées.
      2. 320 000 lignes, mon vieil excel 2003 ne va pas supporter, mais je serai quand même curieux de voir ce que ça donne pour 10 000 lignes, si tu veux bien m'envoyer un extrait au format excel 2003

      Cdlmnt
      1. depuis mon ordinateur de travail je ne sais le changer le document, j'ai fait un "mixte" de certaine grosse possibilité qu'on peut retrouver dans mon fichier originel :)
        voici un fichier test plus complet :
        http://www.cjoint.com/c/EFprqc5kVgw

        J'ai beau essayer avec la macro que vous m'avez passer, pourquoi ne fonctionne t'elle pas ? A quoi correspond ctte ligne dans votre code ? " TR(liT, kk + 1) = TT(li + kk - 1)"

        Merci pour vos réponses et votre aide
    3. > JvDo

      Pas mal du tout, ça me fait penser qu'il va falloir que je me décide à installer/explorer Morefonc.

      RQ. La solution par formules, de plus matricielles, sur un fichier de 22 Mo (320 000 lignes), ça va sérieusement alourdir le fichier et le calcul va certainement prendre beaucoup de temps et de ressources.
      Ou alors, il va falloir exploiter les outils de Morefonc depuis vba

      Cdlmnt
      1. Bonjour à CCM81 et JvDo,

        Merci encore de toujours vous intérressé à mon sujet.

        voici le fichier http://we.tl/yYyGcwfTg9. elle comprend les 320 000 lignes

        Qu'est ce MoreFunc, sur google on propose différent site pour le télécharger, mais les explication sont faible. C'est un complément de Excel ?

        Je vous remerci de votre aide
      2. Bonjour,

        Le point est de trop dans l'url du lien.

        cordialement
    4. Salut JvDo

      En attendant les 22 Mo, tu peux essayer avec celui ci
      http://www.cjoint.com/c/EFonkH5CsPg

      Cdlmnt
      1. Bonjour ccm81

        voilà une approche par formule : https://www.cjoint.com/c/EFonxOqecuW

        j'utilise MCONCAT() de MoreFunc.
        Je ne sais pas si sa limite à 254 caractères retournés pose problème sur le fichier global.
        Si oui, il faudra la redévelopper.

        cordialement
    5. Bonjour,

      Je redécouvre cette discussion mais je ne peux même pas tester la macro de ccm81 (que je salue) vu que les fichiers ne sont plus accessibles.

      I'm frustré.

      cordialement

      PS : 22Mo ne me gênent pas pour un fichier
      1. Je ne sais pas ce qui se passe, mais ton fichier est illisible, tu es sûr de ne pas l'avoir enregistré au format .xlt au lieu de .xls ? A moins que la nouvelle mouture de cjoint.com l'ait abimé !

        1. Dans ton fichier test (10 000 lignes)
        Alt-F11 pour entrer dans l'éditeur vba
        2. Insertion/Module va te créer un Module1
        3. Tu colles tout le code ci-dessous
        4. Tu modifies éventuellement les valeurs des constantes en début de code selon ta configuration
        5. Retour dans la feuille.
        6. Tu enregistres (prudence toujours)
        7. Pour lancer la macro deux solutions
        7.1. Tu reviens dans l'éditeur vba (Alt-F11), tu mets le curseur dans le code de la procédure OK2. Dans le menu, Exécution/Exécuter sub ..
        7.2. Dans la feuille. Outils/Macro/Macros et tu choisis OK2/Exécuter

        Option Explicit
        
        ' les valeurs des constantes sont à modifier selon ta configuration
        ' caractéristiques de la Feuille Source
        Public Const FS = "Feuil1"    ' nom
        Public Const lidebFS = 2      ' première ligne des données
        Public Const codebFS = 1      ' première colonne des données
        Public Const nbcoFS = 4       ' nombre de colonnes des données
        Public Const sep = " "        ' ne pas toucher
        ' caractéristiques de la Feuille But
        Public Const FB = "Feuil1"    ' nom
        Public Const lidebFB = 2      ' première ligne des données
        Public Const codebFB = 11     ' première colonne des données
        
        ' normalement tu n'as pas à toucher au code ci-dessous
        Public Sub OK2()
        Dim liFS As Long, lifinFS As Long, nuOA As Long, k As Long
        Dim dico As Object, cle As String, valeur As String, cles, valeurs, nbcles As Long, nucle As Long
        Dim licle As Long
        Dim TR, TT, limax As Long, li As Long, liT As Long, nbliTR As Long, kk As Long
        With Sheets(FS)
          lifinFS = .Cells(Rows.Count, codebFS).End(xlUp).Row
          Set dico = CreateObject("scripting.dictionary")
          liFS = lidebFS - 1
          licle = 31
          nbliTR = 0
          Do
            cle = ""
            Do
              liFS = liFS + 1
              valeur = .Cells(liFS, 1)
              For k = 2 To nbcoFS
                cle = cle & sep & .Cells(liFS, codebFS + k - 1).Value
              Next k
            Loop Until liFS = lifinFS + 1 Or .Cells(liFS + 1, codebFS + 2).Value = 1
            cle = Trim(cle)
            If Not dico.exists(cle) Then
              dico.Add cle, valeur
              nbliTR = nbliTR + .Cells(liFS, codebFS + 2)
            End If
          Loop Until liFS >= lifinFS
          nbcles = dico.Count
          cles = dico.keys
          valeurs = dico.items
          ReDim TR(1 To nbliTR, 1 To nbcles + 1)
          liT = 1
          For k = 1 To nbcles
            TT = Split(cles(k - 1), " ")
            limax = UBound(TT)
            For li = 0 To limax Step (nbcoFS - 1)
              TR(liT, 1) = valeurs(k - 1)
              For kk = 1 To (nbcoFS - 1)
                TR(liT, kk + 1) = TT(li + kk - 1)
              Next kk
              liT = liT + 1
            Next li
          Next k
          Sheets(FB).Cells(lidebFB, codebFB).Resize(nbliTR, nbcoFS).Value = TR
        End With
        End Sub
        

        Tu vois ce que ça donne
        RQ. Vois si ton fichier test est bien au format .xls et renvoies le via un autre site peut être http://dl.free.fr

        Bon courage
        1. Bonjour Ccm81,

          Je reviens vers vous avec beaucoup de retard, et j'en suis désolé, ma réponse ne sais pas envoyé apparemment.

          Voici ce qui se passe quand je met la macro : Message d'erreur d'exécution '9':
          l'indice n'appartient pas à la sélection. Pour résoudre le problème, il surligne la ligne suivante : TR(liT, kk + 1) = TT(li + kk - 1) (mise en @ dans le code ci dessous)

          Je ne comprend absolument rien à tout ceci, et je suis totalement perdus. Etes vous toujours d'accord de bien vouloir m'aider ?

          Je vous remercie d'avance

          Option Explicit

          ' les valeurs des constantes sont à modifier selon ta configuration
          ' caractéristiques de la Feuille Source
          Public Const FS = "Feuil1" ' nom
          Public Const lidebFS = 2 ' première ligne des données
          Public Const codebFS = 1 ' première colonne des données
          Public Const nbcoFS = 4 ' nombre de colonnes des données
          Public Const sep = " " ' ne pas toucher
          ' caractéristiques de la Feuille But
          Public Const FB = "Feuil1" ' nom
          Public Const lidebFB = 2 ' première ligne des données
          Public Const codebFB = 11 ' première colonne des données

          ' normalement tu n'as pas à toucher au code ci-dessous
          Public Sub OK2()
          Dim liFS As Long, lifinFS As Long, nuOA As Long, k As Long
          Dim dico As Object, cle As String, valeur As String, cles, valeurs, nbcles As Long, nucle As Long
          Dim licle As Long
          Dim TR, TT, limax As Long, li As Long, liT As Long, nbliTR As Long, kk As Long
          With Sheets(FS)
          lifinFS = .Cells(Rows.Count, codebFS).End(xlUp).Row
          Set dico = CreateObject("scripting.dictionary")
          liFS = lidebFS - 1
          licle = 31
          nbliTR = 0
          Do
          cle = ""
          Do
          liFS = liFS + 1
          valeur = .Cells(liFS, 1)
          For k = 2 To nbcoFS
          cle = cle & sep & .Cells(liFS, codebFS + k - 1).Value
          Next k
          Loop Until liFS = lifinFS + 1 Or .Cells(liFS + 1, codebFS + 2).Value = 1
          cle = Trim(cle)
          If Not dico.exists(cle) Then
          dico.Add cle, valeur
          nbliTR = nbliTR + .Cells(liFS, codebFS + 2)
          End If
          Loop Until liFS >= lifinFS
          nbcles = dico.Count
          cles = dico.keys
          valeurs = dico.items
          ReDim TR(1 To nbliTR, 1 To nbcles + 1)
          liT = 1
          For k = 1 To nbcles
          TT = Split(cles(k - 1), " ")
          limax = UBound(TT)
          For li = 0 To limax Step (nbcoFS - 1)
          TR(liT, 1) = valeurs(k - 1)
          For kk = 1 To (nbcoFS - 1)
          @@@@ TR(liT, kk + 1) = TT(li + kk - 1) @@@@
          Next kk
          liT = liT + 1
          Next li
          Next k
          Sheets(FB).Cells(lidebFB, codebFB).Resize(nbliTR, nbcoFS).Value = TR
          End With
          End Sub
      2. Désolé,
        je ne peux pas lire ton fichier enregistres-le au format excel 2003 avant de l'envoyer (fichier/enregistrer sous/Type .... .xls)
        1. Bonsoir ccm81,

          Je suis vraiment désolé, j'ai intervertis les documents :)
          http://www.cjoint.com/c/EFbtKhwdstc

          Voici :)
      3. 1. Voici le liens, il s'éffacera dans 7 jours.
        Désolé, mais 22Mo mon viel excel 2003 ne va pas y résister
        2. C'est impossible de sélectionner 200 lignes qui peuvent reprandre tout les différentes difficulté du dossier
        Et avec quelques milliers de lignes ? C'est juste pour voir ce que ça donne
        3. j'ai essayé d'éffectuer le transfert via cjoint... cela ne fonctionnnait pas.
        cjoint.com est limité à 8 Mo !
        Va sur cjoint.com/ sélectionnes 4 jours/ Parcourir/sélectionnes ton (bout de) fichier/Ouvrir et en bas de la page tu as Créer le lien. Il ne te reste plus qu'à le copier ici
        4. Pour le test en vrai grandeur, je peux t'expliquer comment implanter et lancer la macro dans ton fichier, et éventuellement la commenter

        Cdlmnt
        1. bonjour CCM81,

          Voici le fichier réduit à 10 000 lignes, le fichier de base comporte plus 320 000 lignes, cela reste dur de trouver un bon échantillons j'ai vraiment 4 lignes au hasard :)
          http://www.cjoint.com/c/EFbrHujt20c

          Je suis preneur de vraiment toute information par rapport aux macros :) et le raisonnement m'intéresse aussi :)
      4. Bonjour

        Pour aller un peu plus loin, peux tu envoyer un bout de fichier, au format excel 2003, un peu plus conséquent (environ 200 lignes) pour voir si le résultat est bien celui attendu.

        Cdlmnt
        1. bonjour CCM81,

          Merci pour votre réponse, j'ai essayé d'éffectuer le transfert via cjoint... cela ne fonctionnnait pas.

          C'est impossible de sélectionner 200 lignes qui peuvent reprandre tout les différentes difficulté du dossier donc je vous envois la totalité.

          http://we.tl/Ln4AWygF9x

          Voici le liens, il s'éffacera dans 7 jours.

          Savez vous m'expliquer votre raisonnement pour la maccro, comment vous vous y prenez car je suis vraiment curieux quant au point de vue des macros :)

          Mille merci du temps que vous me consacré
      5. Et pour aller un peu plus loin
        https://www.cjoint.com/?3EBpKIQlNHJ

        Cdlmnt
        1. Bonjoue ccm81,

          Merci de l'attention porté à mon problème et merci de m'aider :)

          Pour répondre à tes questions, quand un bloc est fini quand la numérotation recommence à 1, et plus rien ne dois être apporté.

          Ensuite, ce qui rend un bloc similaire c'est le nombre d'arrets, le nom de la ligne et surtout la même suite des ID.

          Le probleme c'est que certain blocs ont en commun une suite des d'id avec la même numérotation.

          Pourquoi choisir un bloc plus que l'autre si ceux sont identique ? Ca, cela m'importe peu, tant que chaque différent type de trajet est représenter une et uniquement une fois

          J'ai l'excel complet, qui lourd et avec plus d'info si tu souhaite jeté un oeil pour mieux comprendre :)

          Pour l'excel que tu as envoyé, le résultat est correcte, comment te sert tu des macro ? Connais tu un bon tuto ? :)
      6. Bonjour,

        Fichier : https://www.cjoint.com/c/EEwpZoj7shm

        Voici un fichier, avec une formule permettant de te dire si la ligne est ok (pas de doublon ailleurs) sinon affiche doublon.

        Suffira de filtrer la colonne avec mot "doublon" puis tu sélectionne les lignes et masquer.

        Cdlt
        1. Bonjour,

          Merci de l'attention portée à ma demande :)

          Je n'avais pas pensées de cette manière :) j'y travail de suite.

          Merci bcp
      7. Bonjour

        Les suites varie de 2 arrets à 52, et j'aimerais savoir comment je pourrais détecter les différentes séries pour afficher chaque sorte de série, sans doublon
        Peux tu expliquer un peu et donner un exemple de résultat attendu

        RQ. Peut être un filtre automatique ?

        Cdlmnt
        1. bonjour,

          merci pour votre réponse rapide,
          Par rapport à l'extrait au dessusm voice le résultat attend
          86AVL 200415009 1 AVL1
          86AVL 200415010 2 AVL1
          86AVL 200415006 3 AVL1
          86AVL 200415003 4 AVL1
          86AVL 200405035 5 AVL1
          86AVL 200405026 6 AVL1
          86AVL 200405023 7 AVL1
          300AVL 200405035 1 AVL1
          300AVL 200415003 2 AVL1
          300AVL 200415006 3 AVL1
          300AVL 200415012 4 AVL1
          300AVL 200415009 5 AVL1
          384AVL 200405035 1 AVL10
          384AVL 200405026 2 AVL10
          384AVL 200405023 3 AVL10
          384AVL 200405020 4 AVL10
          384AVL 200405005 5 AVL10
          384AVL 200419013 6 AVL10
          384AVL 200410005 7 AVL10
          384AVL 200410003 8 AVL10
          384AVL 200410004 9 AVL10

          Les suites des ID arret, n'apparaissent qu'une fois :)
          pourquoi le filte ne foncitonne pas ?
          trop de donnée différentes pour au'il soit util :/

          Je travail sur une modele de structure d'automate pour m'aider à faire la formule, mais je ne sais par ou chercher :)

          Merci pour l'attention portée à ma requète
        2. Bonjour,

          Même solution, sauf que cette fois tu masque les colonnes doublons depuis le filtre.

          P.S : petite erreur dans ton résultat car
          L'ID ici : 384 AVL 200405035 1 AVL10 est présente dans 376AVL 200405035 1 AVL10

          Du coup, quand l'ID est identique on garde le premier résultat ou le second ?

          Fichier : https://www.cjoint.com/c/EEwqClfZ5zy

          Cdlt
        3. @Excel-workerBonsoir,

          Vous mettez le doigt sur le problème.

          J'ai essayé votre solution sur votre mon dossier excel complet. Cela fonctionne très bien pour les lignes qui font tout le temps le trajet complet, comme l'extrait :) et je vous remercie déjà pour cette aide, et directement j'ai retiré le nom du trajet du concatener car tout étais OK et non Doublon.

          Mais comme vous dites parfois j'ai des trajet de bus qui modifie, je m'explique;

          Le trajet se compose de 8 arrêts ; 1, 2, , 4 , 5, 6, 7, et 8
          Il y a deux trajet :
          Trajet A qui fait 1,2,3,4,5,6,7 et 8
          Trajet B qui fait 1,2,3 et 4

          Exemple :
          86AVL 200415009 1 AVL1
          86AVL 200415010 2 AVL1
          86AVL 200415006 3 AVL1
          86AVL 200415003 4 AVL1
          86AVL 200405035 5 AVL1
          86AVL 200405026 6 AVL1
          86AVL 200405023 7 AVL1
          85AVL 200415009 1 AVL1
          85AVL 200415010 2 AVL1
          85AVL 200415006 3 AVL1
          85AVL 200415003 4 AVL1
          85AVL 200405035 5 AVL1
          85AVL 200405026 6 AVL1
          85AVL 200405023 7 AVL1
          89AVL 200415009 1 AVL1
          89AVL 200415010 2 AVL1
          89AVL 200415006 3 AVL1
          89AVL 200415003 4 AVL1
          89AVL 200405035 5 AVL1
          89AVL 200415009 1 AVL1
          89AVL 200415010 2 AVL1
          89AVL 200415006 3 AVL1
          89AVL 200415003 4 AVL1
          89AVL 200405035 5 AVL1

          C'est la que la formule atteint sa limite; le trajet B n'apparaît pas car il a tout identique avec le trajet A ; Le même ID, même numéro d'arrêt et même nom de ligne, seul le nom du trajet change.

          Alors j'ai essayé de rajouter des donnée plus spécifique au trajet dans la cellule du concatener, mais cela ne suffit pas.

          j'ai deux idées, la première c'est de travaillé sur le nom du trajet, c'est à dire de montrer les trajets qui n'apparaissent que X fois et faire le tris doublons par filtre que dans ceux affiché ?

          J'ai regarder les possibilités du filtre mais pas je ne trouve par le classement par occurrence, est ce possiblte ? avez vous une idées ?

          ET l'autre proposition c'est que excel créer "ferme" les série, chaque fois que le 1 apparaît, ils mets en bloque la série, et donc, on travaillerais par bloc.. et quand le bloc correspond à 100% , point de vue longueur et donnée, avec un autre, il est défini comme doublon, sinon comme unique. Dans cette optique je tombe sur des maccro .. vu mon niveau d'info, ca me fait peur :)

          Merci de m'aider dans mes démarche et je vous remercie Excel-Worker :)
        4. Bonjour,

          Effectivement, ça devient de plus en plus complexe, je préfère laisser ma place à un autre contributeur. Les macros, ce n'est plus mon domaine.

          Cdlt