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

Macros et VBA Excel Discussion :

[XL-2010] Parcourir deux tableaux et comparer les valeurs


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 4
    Points
    4
    Par défaut [XL-2010] Parcourir deux tableaux et comparer les valeurs
    Bonjour à tous,

    Dans le cadre de mon travail j'aurais besoin de parcourir deux tableaux Excel et de comparer les valeurs de l'un par rapport à l'autre.

    Pour donner un exemple :

    Tableau 1 :

    Nom    ID   Pays   Code
    
    Bob     1   FRA     01
    Azerty  1   FRA     01
    Plop    2   DEU     02
    Pierre  3   ESP     03

    Tableau 2 :

    ID    Pays    Code
    1     FRA     01
    2     DEU     02
    3     ESP     03
    Il faut que les valeurs du tableaux 1 soit identique à celle du tableau 2.

    Je ne connais pas du tout le VBA et je ne suis pas très bon en dev donc si vous pouviez m'aider ça serai super

    Merci davance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Avant de développer une macro, essayez déjà de comparer avec un TCD sur le tableau 1 comme sur le vidage d'écran. C'est peut-être suffisant.

    Pièce jointe 177199

    Cordialement.

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Bonjour Eric, merci beaucoup pour votre réponse.

    Je ne sais pas si cela répondra à ma problématique de faire un TCD car le tableau N°2 contient des lignes uniques et le tableau numéro 1 peut utiliser plusieurs fois ces lignes, tout en changeant de nom, mais quelques erreurs peuvent apparaître au niveau des ID par exemple alors que le reste de la ligne sera elle correcte et en plus de cela il faudrait indiquer à quel niveau l'erreur se produit.. Si vous pensez tout de même que cela pourra répondre à ma problématique je vais essayer d'ouvrir les yeux

    Merci beaucoup en tout cas

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Vayzz Voir le message
    Je ne sais pas si cela répondra à ma problématique de faire un TCD car le tableau N°2 contient des lignes uniques et le tableau numéro 1 peut utiliser plusieurs fois ces lignes.
    C'est justement tout l'intérêt du TCD car il aura toujours la même présentation que le tableau 2. Essayez déjà le TCD qui est un des fondamentaux d'Excel avant d'aborder le VBA car cela va vous demander du temps.

    Cordialement.

  5. #5
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    La solution fonctionne bien si le tableau 2 ne comporte pas beaucoup de ligne mais dès qu'on passe à beaucoup de ligne ça devient difficilement gérable je trouve :/ après je ne suis pas très à l'aise avec excel donc le problème vient peut être de moi.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si vous avez réussi à créer le TCD, c'est déjà pas mal.
    Cela donne quoi avec toutes vos données, avec un vidage d'écran de votre tableau 2 et du TCD ? Combien de lignes pour chaque ?

    Cordialement.
    Dernière modification par AlainTech ; 31/05/2015 à 13h24. Motif: Suppression de la citation inutile

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 910
    Points : 28 889
    Points
    28 889
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je n'ai peut-être rien compris à la question mais si c'est pour vérifier si le code pays se trouvant en colonne 3 du Tableau 1 est équivalent au code se trouvant dans le tableau 2 la fonction EQUIV imbriquée dans INDEX pourra résoudre cette question.
    Une autre solution et c'est celle que je préconiserais serait d'utiliser la fonction RECHERCHEV dans la colonne 3 du tableau 1 mais sans doute n'ai-je rien compris à cette discussion.

    [EDIT]
    Si ce que j'ai écrit plus haut est correct et quel la colonne 2 (ID) du tableau 1 correspond à la colonne 1 (ID) du tableau 2, et en me référant à l'image illustrant les deux tableaux d'Eric, la formule à placer en colonne 4 du tableau 1 est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(D4=RECHERCHEV(B4;$K$4:$M$6;3);"";"Problème")
    La cellule affichera Problème si la correspondance est inexacte et rien dans le cas contraire
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =D4=RECHERCHEV(B4;$K$4:$M$6;3)
    Cette dernière affichera VRAI si la correspondance est exacte et FAUX dans le cas contraire. Un simple filtre fera la clareté

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Je n'ai peut-être rien compris à la question mais si c'est pour vérifier si le code pays se trouvant en colonne 3 du Tableau 1 est équivalent au code se trouvant dans le tableau 2 la fonction EQUIV imbriquée dans INDEX pourra résoudre cette question.
    Une autre solution et c'est celle que je préconiserais serait d'utiliser la fonction RECHERCHEV dans la colonne 3 du tableau 1 mais sans doute n'ai-je rien compris à cette discussion.
    Salut Philippe,

    Ce que j'ai compris c'est qu'il pouvait y avoir un écart sur chacun des 3 champs du tableau 1. Au final, si une vérification visuelle ne suffisait pas, j'aurais concaténé les 3 colonnes de chacun des tableaux et fait un RECHERCHEV du tableau 1 sur le 2.

    Cordialement.

  9. #9
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Eric, vous avez compris la problématique pour le moment je ne faisait qu'une vérification visuel entre les deux tableaux car j'étais seulement en phase de test ( le tableau 1 étant rempli à la main par mon client) mais lors de la production je vais avoir plus de 10 000 lignes dans chaque tableau, je ne pourrais donc plus me permettre de me reposer seulement sur mon regard.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Ce sont des informations qui doivent être connues dès le premier message.....

    Sinon, avez-vous pris connaissance des deux derniers messages de Philippe et de moi ?

    Question subsidiaire : Quelle est la fréquence de ce contrôle ?

    Cordialement.
    Dernière modification par AlainTech ; 31/05/2015 à 13h25. Motif: Suppression de la citation inutile

  11. #11
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Oui bien sur, j'en prend connaissance et j'essaye de travailler avec toute votre aide, merci beaucoup.

    Pour la fréquence, normalement ça sera qu'une fois, le temps de la mise en production.

  12. #12
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 910
    Points : 28 889
    Points
    28 889
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    S'il faut vérifier que la troisième et quatrième colonne du tableau 1 correspondent aux colonnes 2 et 3 du tableau 2
    Soit la formule ci-dessous qui affichera 1 si tout est correct ou 0 dans le cas contraire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(C4=RECHERCHEV(B4;$K$4:$M$6;2)) * (D4=RECHERCHEV(B4;$K$4:$M$6;3))
    Soit la formule ci-dessous qui affichera VRAI ou FAUX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(C4=RECHERCHEV(B4;$K$4:$M$6;2)) * (D4=RECHERCHEV(B4;$K$4:$M$6;3))=1

  13. #13
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Nom : tableaux.png
Affichages : 995
Taille : 98,8 Ko



    Le tableau ressemblera plus à ça si ça peut vous aider.

  14. #14
    Invité
    Invité(e)
    Par défaut
    Le fichier contient l'exemple par concaténation.

    Pièce jointe 177310

    Les enregistrements erronés du tableau 1, apparaissent avec #N/A

    Cordialement.

  15. #15
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 910
    Points : 28 889
    Points
    28 889
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le tableau ressemblera plus à ça si ça peut vous aider.
    J'adore. Qui doit être aidé ?
    Si les informations complètes étaient données dès le départ on gagnerait un temps précieux.

  16. #16
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Je suis désolé si je ne suis pas précis, vraiment. C'est la première fois que je viens sur un forum, j'essaye de m'expliquer au mieux mais comme je ne connais pas bien excel c'est difficile.

    Désolé.

  17. #17
    Invité
    Invité(e)
    Par défaut
    Dans le tableau 2 en concaténant les 3 colonnes, chaque valeur concaténée correspond-elle à un cas unique ?

    Cordialement.
    Dernière modification par AlainTech ; 31/05/2015 à 13h27. Motif: Suppression de la citation inutile

  18. #18
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Oui le tableau 2 ne contient que des lignes uniques.

  19. #19
    Invité
    Invité(e)
    Par défaut
    Eh ben, y a plus qu'à....

    Nb : Dans ma méthode, j'ai nommé les valeurs du Tableau 2 en colonne K : Tableau2Concatene. Vous retrouvez cette zone dans la formule RechercheV.

    Précision importante : Le tableau 2 doit être trié dans l'ordre de la colonne concaténée.

    Cordialement.
    Dernière modification par AlainTech ; 31/05/2015 à 13h27. Motif: Suppression de la citation inutile

  20. #20
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Nom : TCD.PNG
Affichages : 1001
Taille : 49,0 Ko

    Le TCD que j'ai fait ressemble à cela.

    Merci beaucoup je vais essayer d'appliquer votre méthode

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Comparer les valeurs de deux tableaux
    Par mailbox dans le forum Débuter
    Réponses: 12
    Dernier message: 28/11/2010, 19h14
  2. [MySQL] Comparer les valeurs de 2 tableaux serialisés dans une requête
    Par lodan dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 11/05/2010, 08h59
  3. [DeskI XiR2] Comparer les valeurs de deux colonnes
    Par EmmanuelleC dans le forum Débuter
    Réponses: 2
    Dernier message: 27/02/2009, 08h45
  4. Parcourir deux tableaux
    Par Viscapon dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 23/11/2008, 00h09
  5. Réponses: 8
    Dernier message: 01/12/2006, 09h05

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