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 :

Comparer deux tableaux


Sujet :

Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Bonjour,
    je pense que tout est dans le titre de la discussion.
    J'ai deux tableaux Excel est j'aimerais les comparer.
    Est ce qu'il existe un programme, une requete excel (ou access) qui permette de faire cette comparaison !?

    En fait, mes deux tableaux Excel ont un nombre de lignes et colonnes différent.
    Il faut que je trouve une façon de comparer, voir si un numéro (une référence) se trouve dans les deux tableaux.

    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    je reprend ma pince a "extraire les infos une à une"
    la réponse a ta question et "oui ça existe"
    mais en réalité, des outils capable de faire ce que tu demande il en existe plein. mais ça dépend de comment sont organisés tes tableaux.
    donc, je réitere ma question
    "et tu veux savoir quoi ?"
    une réponse du style
    j'ai 2 tableau, en colonne A les nom, en colonne b les prénom, je veux savoir si les noms du premier sont dans le second
    je veux savoir si en tapant jean, je peux connaitre tt les jean du tableau 2
    je veux savoir si en tapant les trois premiere letre je peux afficher le nom entier qui se trouve en tableau 2
    je veux savoir si ma reference se trouve en tableau 2
    je veux savoir si ma reference se trouve dans la deuxeieme colonne du tableau 2
    question precise: reponse precise (bon d'accord c'est si on peut, c'est vrai que des fois la réponse est pas plus claire que la question )

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Ok, je vais donc commencer par le début.
    Mon premier tableau a 7 colonnes (la colonne qui m'intéresse est la 4ème).
    Le second en a 51 (la colonne qui m'intéresse est la 37ème).
    Dans ces deux colonnes, j'ai un numéro de série ("MUT 800412" par exemple).

    La première manip serait de supprimer l'espace entre MUT et 800412, car dans le deuxième tableau le numéro est de la forme MUT800412.

    La deuxième manip serait de rechercher dans le second tableau les numéros de série similaires aux deux tableaux.

    Si vous avez des questions (car je ne pense pas être super clair...), n'hésitez surtout pas.

  4. #4
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 71
    Points
    71
    Par défaut Supprimer les blancs
    Bonjour.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Range("DEBUT:FIN").Select
        Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:= _
            xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Mais je pense que tu aurais pu trouver cela facilement.

    Pour le reste, tu fais quoi quand tu as trouver tes numéros dans la 2ème colonne ??

    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Bin le truc c'est qu'en Excel je n'ai que les bases, je veux dire, je n'ai jamais vu ça en cours (contrairement à Access...).
    Je ne sais donc pas faire de macros ou autre sous Excel.
    Tu pourrais rentrer un peu dans les détails concernant ce que tu m'as écrit précédemment ou non ..., parceque je ne comprends pas tout ... ?

    En fait, si un numéro de série se trouve dans les deux fachiers excel, on garde tout la ligne correspondant à ce numéro de série (dans le deuxième tableau), s'il est présent que dans le premier, on le vire du premier, s'il est présent que dans le second, on le vire du second .
    Tu vois le truc ... ?

    Merci

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 681
    Points : 633
    Points
    633
    Par défaut
    Voici une solution sans VBA. C'est un bricolage. Si cela peut te convenir, je te mettrais la méthode, à moins que quelqu'un t'en propose une plus simple.

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    et pour ce qui est de supprimer ton espace, une solution simple
    selectionner ta colonne, faire édition/remplacer (ou ctrl H) et taper un espace dans la case "rechercher" et rien dans la case "remplacer par". puis appuyer sur "remplacer tout".

  8. #8
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Bonjour Boubou382002, Bonjour a tous.

    Pour supprimer ton espace sans VBA, tu peux utiliser cette fonction:

    Tu ne peux l'utiliser que si tu est certain qu'il n'y a pas d'autres espace dans tes cellule. Sinon la fonction les supprimers eux aussi..

    Pour ta deuxieme manip, suis les conseils de marc56, c'est le plus facile. Mais tu peux aussi utiliser la fonction SOMMEPROD.

    A+

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Je ne comprends pas trop la technique de Marc56 ....
    Si quelqu'un peut me commenter un peu, sinon je me débrouillerai, c'est pas grave.

    Merci beaucoup à tous

  10. #10
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Je t'explique, Marc56 utilise la fonction RECHERCHEV de cette maniere:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RECHERCHEV(D4,'Tableau 2'!$AK$4:'Tableau 2'!$AK$24,1)
    D4 etant la cellule dont tu veux verifier la presence dans ta plage de donnees. Pour toi ce sera toute les cellules contenant un numero de serie dans ton second tableau
    'Tableau 2'!$AK$4:'Tableau 2'!$AK$24 etant ta plage de donnee ou tu fais ta recherche. Dans ton cas ce sera ton premier tableau.
    1 est le numero de la colonne dans ta plage de donnee dont tu veux que la fonction RECHERCHEV te redonne le resultat.

    En bon francais par exemple: Si MUT 800412 est present dans mon second tableau alors, donne moi la valeure de la preimiere colonne de la plage de recherche (en l'ocurence MUT 800412)

    Si il te donne un autre resultat, cela veut dire que la valeur n'est pas presente. Tu peux alors utiliser la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF(H4=D4,"","A SUPPRIMER")
    Si il y a marque SUPPRIMER alors ton numero de serie n'est pas present.

    J'espere que j'ai ete clair.

    A+

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 681
    Points : 633
    Points
    633
    Par défaut
    Bonjour,
    Pour ce qui est de la méthode que j'ai utilisée, voici comment procéder :
    Après avoir revu tes problèmes d'espaces dans les références et fait les sauvegardes nécessaires.
    - Tu tries tes 2 feuilles de données en ordre croissant, l'une sur la colonne 4, l'autre sur la colonne 37 (tes références à comparer).
    - Tu poses 2 colonnes techniques dans chaque feuille, elles seront à supprimer après avoir fait le ménage.
    Maintenant le principe :
    Dans la première colonne technique de la feuille 1, tu rentres une formule lui demandant de rechercher la valeur de ta première référence (colonne 4) dans la colonne 37 de ta feuille 2 et de l'afficher. Si la valeur est trouvée, elle sera affichée, sinon ce sera une autre valeur.
    Dans ta seconde colonne technique, tu demandes de comparer la référence recherchée avec celle trouvée par la recherche. Si la valeur est différente, il faut lui faire afficher "A supprimer".
    Ensuite tu fais la même opération avec la feuille 2 en demandant de rechercher la valeur de la colonne 37 dans la liste des références de la feuille 1, colonne 4.
    Pour faciliter la suppression des lignes, je te recommande de faire un copier/coller par collage spécial\valeurs, de la colonne qui affiche "A supprimer" sur les 2 feuilles et ensuite sur ces colonnes, toutes les lignes à supprimer seront regroupées.

    Si tu as des problèmes pour l'écriture des formules, fais le moi savoir.

  12. #12
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Bonjour,
    je viens de commencer mon travail de comparaison.
    J'ai essayé de faire comme vous me l'avez dit, mais il y a des choses qui m'échappent...
    Je n'arrive pas à comprendre comment, avec l'aide de cette méthode, on peut comparer des colonnes qui ne sont pas du même fichier.
    Je pense que je vais vous mettre mes deux fichiers excel (en simplifié bien sur...) comme ça vous aurez un aperçu concret de mon problème.
    Fichiers attachés Fichiers attachés

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 681
    Points : 633
    Points
    633
    Par défaut
    Bonjour,
    Que tu ais 2 fichiers différents, cela arrive, mais faut-il les garder séparés à l'avenir, car le problème va recommencer dans qq temps si des personnes différentes les utilisent séparément.

  14. #14
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Bon on reprend depuis le debut,

    Dsl pour les deux tableau separes, mais je n'avait pas compris que c'etait sur deux fichiers differents. Comme Marc56 te le demande, est-il vraiment utile d'avoir ces deux tableau sur deux fichier different?

    De toute facon les formules RECHERCHEV fonctionnent aussi sur deux fichiers different, mais cela t'oblige a les garder ouvert tout les deux.

    Dc pour reprendre la demarche depuis le debut
    Premierement, tu cree une colonne avec SUBSTITUE(A1," ","") dans ton premiers fichier, pour supprimer les espaces

    Deuxiemement, tu cree une colonne dans ton deuxieme fichier avec RECHERCHEV(cellule de ton numero de serie 2eme fichier, table de recherche de ton 1er fichier, numero de la colonne de ton numero de serie sur ta table de recherche).
    Cela te donnera soit le numero de serie correspondant a celui que tu cherche, soit un autre completement different.

    Troisiememnt, tu cree une troisieme colonne dans ton deuxieme fichier avec:
    SI(la cellule que tu vient de creer en deuxiement = a la colonne du numero de serie de ton deuxieme fichier,"","INEXISTANT")
    si il n'a pas trouve ton numero de seire INEXISTANT aparaitra.

    voili voilou

  15. #15
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Bon, j'ai essayé deux trucs différents.
    En premier, pour supprimer le blanc, j'ai écrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CONCATENER(GAUCHE(D6;3);DROITE(D6;6))
    Par contre pour la recherche, j'ai écrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(I6='H:\[Recherche sites xls]O300'!$AK$3:'H:\[Recherche sites.xls]O300'!$AK$499;"OUI";"NON")
    Mais ce dernier code ne fonctionne pas ...

    Pourriez vous me donner la syntaxe éxacte svp, ou sinon avec recherchev ce que ça donnerait (je sais, j'en fait qu'à ma tête, je n'ai pas utilisé recherchev).

    Merci

  16. #16
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Normal que ton code ne marche pas cher ami, tu demande si ta cellule est egale a une colonne, et ca c'est pas possible. Tu ne peut pas utiliser la fonction SI dans ce cas la. Donc arretes d'en faire qu'a ta tete

    Adapte a ton exemple, tu peux utiliser la fonction RECHERCHEV de cette maniere:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(I6;[Recherche sites xls]O300'!$A$3:$A$499,1,FALSE)
    Ensuite tu n'as plus qu'a utiliser la fonction SI comme je te l'ai explique precedement.

    A+

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 681
    Points : 633
    Points
    633
    Par défaut
    Je viens de regarder tes fichiers, c'est bien les N° BUGOR que tu veux comparer.
    En plus de tes blancs à supprimer, les valeurs saisies ne sont pas toutes au même format, certains sont en numériques, d'autres en texte, j'ai trouvé des "O" (lettre en majuscule) en guise de "0" (zéro). Il faut uniformiser tes données avant de vouloir les comparer.

  18. #18
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Je viens de vérifier cette histoire de O et 0, ce sont des fautes de frappe, j'ai effectuer les modifications.

    Bon sinon pour cette histoire de comparaison, je n'y arrive pas.

    Pour supprimer les blancs ça c'est bon.
    Ensuite je créé dans le premier fichier une colonne avec comme code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(I6;'[Recherches sites.xls]O300'!$AK$3:$AK$499;37;FALSE)
    Mais ça ne fonctionne pas, je me prends la tête là dessus et je dois le finir très vite :s
    Puis je créerai dans le deuxième fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI([Recherches sites.xls]O300!$AZ$3=[Montées.xls]MONTEES FAITES!I;"";"INEXISTANT")
    Je tourne en rond je crois...

    Est ce que vous pouvez jeter un oeil à mes fichiers et me donner les bonnes formules svp ...

  19. #19
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Boubou382002,

    je t'ai fait les formules sur les pieces ci jointes. J'ai utilise la fonction SOMMEPROD, car c'etait beaucoup plus rapide pour moi. La fonction est donc la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IF(SUMPRODUCT(([montees.xls]Sheet1!$H$5:$H$288=AK4)*1)>=1,"PRESENCE","PAS PRESENT")
    Les fonctions sont en Anglais, parceque je travail en angleterre. Remplace donc IF par SI et SUMPRODUCT par SOMMEPROD.

    L'explication de la fonction est la suivante. Cette fonction est un test logique. Lorsque le test est verifie, la fonction compte un, sinon elle compte 0.
    Donc si dans ta colonne de ton fichier montee il y a au moins un (>=) AK4 alors on marque PRESENT sinon on marque PAS PRESENT.

    Voila j'espere qu'avec ca tu vas t'en sortir.
    A+
    Fichiers attachés Fichiers attachés

  20. #20
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Merci à tous pour votre aide, mais je viens de voir la réponse...
    De toute façon je ne travaille plus, c'était pour un job d'été.
    Je peux donc fermer cette discussion

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment comparer deux tableaux
    Par bmeda72 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/08/2008, 09h37
  2. [Tableaux] Comparer deux tableaux
    Par popy67 dans le forum Langage
    Réponses: 2
    Dernier message: 05/05/2008, 07h22
  3. Comparer deux tableaux
    Par gefrey54 dans le forum Powerbuilder
    Réponses: 0
    Dernier message: 12/09/2007, 10h58
  4. comparer deux tableaux
    Par djibril dans le forum Langage
    Réponses: 4
    Dernier message: 15/11/2005, 15h26

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