Extraire de 3 tableaux les lignes identiques

Résolu

Bonjour,

encore une question

3 tableaux composer tous de 5 cellules et x lignes dans une même feuille

1A B C D E F   H I J K L M   N O P Q R 

2 

3

x lignes

Je veux extraire de ces 3 tableaux les lignes identique (ordre des nombre dans la ligne pas forcément dans l'ordre) dans un nouveau tableau

merci a tous


Windows / Edge 122.0.0.0


vous êtes super!
merci à tous

9 réponses

Résumé de la discussion

Le problème consiste à extraire, à partir de trois tableaux situés sur une même feuille et composés chacun de 5 colonnes et de x lignes, les lignes identiques lorsque les valeurs apparaissent sans tenir compte de leur ordre. Une solution propose une formule matricielle utilisant INDEX, PETITE.VALEUR et EQUIV pour récupérer les lignes correspondantes, mais elle peut renvoyer des N/A pour les duplications et nécessite un tri ultérieur. Le débat porte ensuite sur la définition d’un tableau Excel et sur le fait que les plages A3:E22, O3:S22 et AC3:AG22 pourraient être perçues comme un seul tableau selon certains usages, ce qui influence l’approche sans macro. Des remarques complémentaires soulignent que l’entrée fournie peut ne pas correspondre à trois tableaux distincts selon le vocabulaire, et évoquent des considérations pratiques liées à l’absence de macros et au choix du format de fichier.

Bobot (l’IA à votre service)
  1. Bonjour

    Pas très clair. Peux tu envoyer un bout de ton fichier sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
    1) Tu vas dans http://cjoint.com/
    2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
    3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
    4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
       en bleu souligné ; tu le sélectionnes et tu fais "Copier"
    5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".

    Cdlmnt

    0
    1. BONJOUR

      VOILA

      BONNE JOURN2E

      https://www.cjoint.com/c/NBCieDPsNCG


      0
      1. Bonjour,

        Ce que tu a mis sur "cjoint", ce n'est pas trois tableaux, c'est un seul tableau.

        0
      2. @mariam-j

        bonjour

        si 3 tableaux dans une même feuille , désolé

        j'ai trouvé une formule

        =INDEX(O$3:U$500;PETITE.VALEUR(SI(ESTNUM(EQUIV(A$3:A$500;AC3:AG3;0));EQUIV(A$2:A$9;0));LIGNE()-1))

        sauf que ça me met N/A pour les identiques

        après je faits un trie Ca me fait une grande avancée

        merci

        0
      3. @jack2125

        Tu peux mettre cinquante cellules vides entre des données, ça ne détermine pas des tableaux.

        Un tableau est défini par son index (entre autres)

        Tes soit disant trois tableaux ont le même index.

        Un index =>> Un tableau

        Ce qui n'interdit pas de faire ce que tu veux, mais on ne pourra pas traiter des tableaux, il faudra traiter des chaines.

        0
      4. @mariam-j

        Suite du: 12h23:

        Comparaison entre un traitement de tableaux et traitement de chaines:
        Tableaux: (en exel on ne fait pas comme ça, ça c'est juste de la logique de traitement)

        Deux tableaux (A) et (B) =>> deux index (x et y)

        Pour x = 0 à longueur tableau (A)
          Pour y = longueur tableau (B) à 0
            Si donnée A(x)=donnée B(y) alors faire
              Faire
            Fin si
          y suivant
        x suivant

        Chaines:

        Pour x = 1 à longueur chaine "1" (ligne 1)
          Si mot$(chaine "1",x) et(ou) mot$(chaine "1",x+1) et(ou)...ect...
          = mot$(chaine "1",x+n) et(ou) mot$(chaine "1",x+n+1)...ect.. alors faire
            Faire
          fin si
        x suivant
        0
      5. @mariam-j

        Excuse moi, mais je ne comprends rien

        La méthode que j'utilise n'est peut être pas visuellement super, mais elle à l'avantage de fonctionner

        Suis je sans doute pas douer pour comprendre ce que tu m explique

        Ecris moi en clair ta proposition

        merci

        0
    2. Bonjour

      Un essai avec macros à tester

      https://www.cjoint.com/c/NBCo5s0xVGB

      Cdlmnt

      0
      1. bonjour

        ok ca fonctionne bien sur ton classeur mais je ne trouve 0 macros?

        suis je bête

        merci

        0
      2. bonjour super

        par contre le résultat en BS3

        également 

        peut on trier en oubliant le 1er tableau ?

        dans BY4 

        merci

        0
      3. bonjour super

        par contre le résultat en BS3

        également 

        peut on trier en oubliant le 1er tableau ?

        dans BY4 

        merci

        0
    3. Contributeur

      Bonjour.

      Je ne suis pas d'accord avec mariam-j :

      Dans Excel, un tableau est délimité par une ligne vide et une colonne vide.

      En Feuil1 du classeur de jack, il y a bien 3 tableaux : A3:E22 ; O3:S22 et AC3:AG22
      Le vocabulaire de mariam-j concerne le langage de programmation VBA ; pas le travail ordinaire dans la feuille d'un classeur sans utilisation de macro.
       


      0
      1. Contributeur

        ... de même, le vocabulaire utilisé par jack laisse un peu à désirer :

        Il ne faut pas écrire
        "3 tableaux composer tous de 5 cellules et x lignes dans une même feuille"
        mais "3 tableaux composés de 5 colonnes et x lignes dans une feuille"
        ni
        "Je veux extraire de ces 3 tableaux les lignes identique (ordre des nombre dans la ligne pas forcément dans l'ordre)"
        mais
        "Je veux extraire de ces 3 tableaux les lignes identiques (nombres dans les lignes pas forcément dans le même ordre)".


        Et, comme déjà rappelé dans un échange récent, il est inutile d'enregistrer au format xlsm quand le classeur ne contient aucune macro (certains n'ouvrent jamais les fichiers en xlsm, de peur de choper un virus) !

        0
      2. C'est la logique "Exel" (logique shadok), preuve en est qu'il faut souvent y ajouter du VBA et de la macro.

        Quand on se soumet à la logique shadok, on ne peut plus s'en départir

        C'est comme ce à quoi je pense, ça colle.

        -1
      3. @mariam-j

        Bonjour à tous,

        Bah, pour moi, il y a 0 tableau. Il y a trois plages. Un tableau, c'est autre chose (depuis Excel 2007). Ou un range avec 3 subareas ;-)))

        Sans rancune, mais je n'ai pas pu résister.

        Daniel

        0
    4. 1. ok ca fonctionne bien sur ton classeur mais je ne trouve 0 macros?

      Alt-F11 pour accéder au code (dans le Module 1)

      RQ. Si tu enregistres mon fichier, il te faut l'enregistrer avec le l'extension .xlsm pour conserver les macros

      Cdlmnt

      0
      1. excuse moi BS3 ca ne te concerne pas

        Par contre j'ai bien la macro

        mais je suis figé sur tes cellules Impossible de prendre d'autres cellules!

        merci 

        0
    5. mais je suis figé sur tes cellules Impossible de prendre d'autres cellules!

      tu peux changer les adresses des plages, en modifiant les valeurs des constantes colonnes, lignes) en début de code

      https://www.cjoint.com/c/NBDpjaMynlB

      Cdlmnt

      0
      1. re

        il me semble que j'ai un problème

        sauf erreur de ma part une seule cellule existe dans le résultat qui serait présente dans les 3 tableaux 

        les deux premier ok mais le 3eme non!

        le but c'est de trouver identique dans les 3

        merci

        0
    6. le but c'est de trouver identique dans les 3

      tu modifies cette ligne

      if valeurs(k) > 1 Then

      comme ça

      For k = 0 To UBound(cles)
        If valeurs(k) > 2 Then

      Cdlmnt

      0
      1. Une question au cas où . Peut il y avoir deux fois les mêmes 5 nombres dans une même plage. Si oui, il va falloir modifier le code.

        Cdlmnt

        0