Trier une base de données via une autre base de données

laurilo56 Messages postés 10 Statut Membre -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un petit problème sur Excel et si il existe une solution cela pourrait me changer la vie...

En gros j'ai 2 fichiers. Un nouveau fichier contenant des numéros d'identité avec 2 autres colonnes d'infos. Un autre fichier "base" qui contient pleins d'infos via ces numéros d'identité.

Sauf que j'ai moins de numéro d'identité dans le fichier que dans le fichier "base". Du coup, est ce qu'il est possible de trier dans les fichiers de "base" que les numéros d'identité que contient mon nouveau fichier?

Merci d'avance

PS: Pour vous donner une idée je dois garder 600 lignes sur 3 000... autant dire qu'un tri à la main sera très laborieux...

5 réponses

  1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Pour construire votre nouvelle liste en partant des numéro d'identité
    Sur le nouveau classeur, en colonne A les identités et en colonne B
    cette formule

    =INDIRECT(ADRESSE(SIERREUR(EQUIV($A$4;'[BASE DE REFERENCE.xlsx]Feuil1'!$A$1:$A$50;0);"n'est pas présent dans la base");2;3;1;"[BASE DE REFERENCE.xlsx]Feuil1");1)

    En colonne C celle-ci

    =INDIRECT(ADRESSE(SIERREUR(EQUIV($A$4;'[BASE DE REFERENCE.xlsx]Feuil1'!$A$1:$A$50;0);"n'est pas présent dans la base");3;3;1;"[BASE DE REFERENCE.xlsx]Feuil1");1)

    Le chiffre en gras est le numéro de colonne ou se trouve l'information dans l' ancienne base. La base a pour première colonne A dans mon exemple
    Ma réponse correspond au cas ou la base est dans un classeur différent de la nouvelle base
    1
    1. laurilo56 Messages postés 10 Statut Membre
       
      Bonjour,

      Merci de ta réponse mais elle ne fonctionne pas...
      J'ai entrée la formule suivante:
      =INDIRECT(ADRESSE(SIERREUR(EQUIV($A$2;([Index_Taureaux.xls]EVOLUTION_Taureaux_56);$A$2:$A$3851;"n'est pas présent dans la base");6;3;1;"[Index_Taureaux.xls]EVOLUTION_Taureaux_56");1)

      Et cela me dit que j'ai tapé un nombre trop important d'argument pour cette fonction...
      0
    2. laurilo56 Messages postés 10 Statut Membre
       
      J'avais oublié quelque chose...
      Donc j'ai fait cette formule:
      =INDIRECT(ADRESSE(SIERREUR(EQUIV($A$2;'[Index_Taureaux.xls]EVOLUTION_Taureaux_56]'!$A$2:$A$3851;"n'est pas présent dans la base");6;3;1;"[Index_Taureaux.xls]EVOLUTION_Taureaux_56");1))

      Mais j'ai a nouveau un message d'erreur qui me dit cette fois qu'il y a une erreur de saisis concernant la phase souligné....

      Des pistes?
      0
      1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835 > laurilo56 Messages postés 10 Statut Membre
         
        La formule
        =INDIRECT(ADRESSE(SIERREUR(EQUIV($A4;[INDEX_TAUREAUX.xls]EVOLUTION_TAUREAU_56!$A$1:$A$3851;0);"n'est pas présent dans la base");2;3;1;"[INDEX_TAUREAUX.xls]EVOLUTION_TAUREAU_56");1)
        0
    3. laurilo56 Messages postés 10 Statut Membre
       
      Ca ne me met pas les bons....

      J'ai bien un résultat mais il ne correspond pas à celui du fichier de base...
      Normalement pour ARCENCIEL (qui est en A2 de mon fichier) sa colonne 3 doit être de 2005 et ça me le met en 1985....

      J'ai pourtant un peu modifié la formule mais pas au point d'avoir ce genre de résultat...

      =INDIRECT(ADRESSE(SIERREUR(EQUIV($A2;[Index_Taureaux.xls]EVOLUTION_Taureaux_56!$A$2:$A$3851;0);"n'est pas présent dans la base");3;3;1;"[Index_Taureaux.xls]EVOLUTION_Taureaux_56");1)
      0
      1. laurilo56 Messages postés 10 Statut Membre > laurilo56 Messages postés 10 Statut Membre
         
        J'ai changé un petit truc et j'ai l'impression que ça a marché....
        Je vous redis....

        Ca fonctionne bien!!!
        Merci beaucoup, vous m'avez sauvé la vie!!!!
        0
  2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Si tu pouvais nous mettre un exemple de structure des données, sans éléments personnels, avec les résultats souhaités expliqués clairement, se serait plus facile de t'aider.
    Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ et tu mets ici le lien obtenu.
    0
  3. laurilo56 Messages postés 10 Statut Membre
     
    https://www.cjoint.com/c/EDnkdwKxf2l

    Vous allez voir sur la feuille1 les numéros que je souhaite sélectionner dans la feuille2.
    Du coup ça veut dire que tout les numéros de la feuille2 qui se trouve entre les 2 autres numéros seront supprimés.

    Est-ce plus clair? :)
    0
    1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonjour,

      Pas tellement plus clair car lorsque tu dis "est ce qu'il est possible de trier dans les fichiers de "base" " j'ai l'impression que tu ne veux pas trier mais filtrer, non ?
      tout les numéros de la feuille2 qui se trouve entre les 2 autres numéros seront supprimés ne veux-tu pas plutôt les masquer ?

      Donc avec ce que j'ai compris, je t'ai mis en feuille 3 les lignes de la feuille 2 dont l'identifiant figure en colonne 1 de la feuille 1

      https://www.cjoint.com/c/EDnlhAyODcT
      Il faut activer les macros pour que cela fonctionne.
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bonjour
      il faut parcourir toute la feuille 1 ? les 2 jaunes etant pour l'exemple ?
      0
      1. laurilo56 Messages postés 10 Statut Membre > michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Oui c'est cela meme.
        Mais ce n'est qu'un échantillon de ma vrai base qui contient normalement dans la feuille1 655 lignes et dans ma feuille2 3851 lignes!
        0
    3. laurilo56 Messages postés 10 Statut Membre
       
      Malgrès que je m'exprime mal tu as réussi à comprendre mon problème et à trouver une solution!

      Peut tu me dire comment tu as fait? Je n'ai que les bases en Excel donc un protocole détaillé serait bienvenue...

      Merci beaucoup
      0
      1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744 > laurilo56 Messages postés 10 Statut Membre
         
        Bonsoir,

        La macro est dans le module que tu peux voir avec Alt+F11 et tu peux la copier dans ton vrai fichier qui doit être mis en .xlsm. Il suffit de changer le nom des feuilles "Feuil1", "Feuil2","Feuil3" par le nom de tes feuilles réelles puis de la lancer en faisant "Exécuter".
        0
  4. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Pour construire votre nouvelle liste en partant des numéro d'identité
    Sur le nouveau classeur, en colonne A les identités et en colonne B
    cette formule

    =INDIRECT(ADRESSE(SIERREUR(EQUIV($A4;Feuil1!A1:A50;0);"n'est pas présent dans la base");2;3;1;"Feuil1");1)
    En colonne C celle-ci

    =INDIRECT(ADRESSE(SIERREUR(EQUIV($A4;Feuil1!A1:A50;0);"n'est pas présent dans la base");3;3;1;"Feuil1");1)

    Le chiffre en gras est le numéro de colonne ou se trouve l'information dans l' ancienne base. La base a pour première colonne A dans mon exemple
    Ma réponse correspond au cas ou la base est dans le même classeur que la nouvelle base
    0
    1. laurilo56 Messages postés 10 Statut Membre
       
      quels arguments prends en compte la base de référence?
      Que représente ($A4;Feuil1!A1:A50;0)?
      Et ;3;3;1;"Feuil1"?
      La base de référence est dans un autre fichier que ma nouvelle base.
      0
      1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835 > laurilo56 Messages postés 10 Statut Membre
         
        Equiv(A4;Feuil1!A1:A50;0)
        On recherche A4 dans la colonne des identifiants de la base et on obtient la ligne on il se trouve
        ce qui permet de construire l'adresse
        0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. laurilo56 Messages postés 10 Statut Membre
     
    UP! :)

    C'est un peu urgent...
    0