Extraire de 3 tableaux les lignes identiques

Résolu
jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   -  
jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   -

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 

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. ccm81 Messages postés 11033 Statut Membre 2 434
     

    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
  2. jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
     

    BONJOUR

    VOILA

    BONNE JOURN2E

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


    0
    1. mariam-j Messages postés 1657 Date d'inscription   Statut Membre Dernière intervention   35
       

      Bonjour,

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

      0
    2. jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   > mariam-j Messages postés 1657 Date d'inscription   Statut Membre Dernière intervention  
       

      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. mariam-j Messages postés 1657 Date d'inscription   Statut Membre Dernière intervention   35 > jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
       

      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 Messages postés 1657 Date d'inscription   Statut Membre Dernière intervention   35 > mariam-j Messages postés 1657 Date d'inscription   Statut Membre Dernière intervention  
       

      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. jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   > mariam-j Messages postés 1657 Date d'inscription   Statut Membre Dernière intervention  
       

      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
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Bonjour

    Un essai avec macros à tester

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

    Cdlmnt

    0
    1. jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
       

      bonjour

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

      suis je bête

      merci

      0
    2. jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
       

      bonjour super

      par contre le résultat en BS3

      également 

      peut on trier en oubliant le 1er tableau ?

      dans BY4 

      merci

      0
    3. jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
       

      bonjour super

      par contre le résultat en BS3

      également 

      peut on trier en oubliant le 1er tableau ?

      dans BY4 

      merci

      0
  4. Raymond PENTIER Messages postés 58226 Date d'inscription   Statut Contributeur Dernière intervention   17 490
     

    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. Raymond PENTIER Messages postés 58226 Date d'inscription   Statut Contributeur Dernière intervention   17 490
       

      ... 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. mariam-j Messages postés 1657 Date d'inscription   Statut Membre Dernière intervention   35
       

      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
      1. danielc0 Messages postés 2211 Date d'inscription   Statut Membre Dernière intervention   294 > mariam-j Messages postés 1657 Date d'inscription   Statut Membre Dernière intervention  
         

        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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     

    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. jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
       

      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
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     

    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. jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
       

      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
  8. ccm81 Messages postés 11033 Statut Membre 2 434
     

    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
  9. ccm81 Messages postés 11033 Statut Membre 2 434
     

    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
  10. ccm81 Messages postés 11033 Statut Membre 2 434
     

    une solution au cas où ?? https://www.cjoint.com/c/NBDukDqfBZB

    Cdlmnt

    0
    1. jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
       

      bonjour super c est tout bon

      merci 

      0