Bonjour
Novice en macro, je cherche à en créer une pour comparer 2 tableaux. Et j’ai atteint la limite de mes compétences. Je me tourne donc vers vous en espérant trouver une solution.
Voici mon problème :
Je me retrouve avec deux tableaux dont les en têtes de colonne sont équivalents. Il y a à peu près une cinquantaine de colonnes et entre 100000 et 200000 lignes dans chaque tableau (oui c’est énorme, mais je n’ai pas le choix).
Dans les deux cas, en colonne A j’ai créé un concatener qui me permet d’avoir un code unique.
Je cherche à faire une macro pour comparer ces deux tableaux, en créant un 3ème tableau dans la feuil3 (attention, il y a un décalage dans les colonnes pour avoir un « commentaire » dans la colonne A du tableau de la Feuil3).
Le but est d’obtenir un tableau récapitulatif dans lequel j’ai toutes les données sans doublons provenant des tableaux en feuil1 et feuil2. Sachant que le tableau en Feuil1 sert de base, c’est lui dont les données sont justes.
Pour être sûr de tout avoir, j’ai pensé à cette méthodologie :
D’abord on compare le tableau en Feuil1 avec celui en Feuil2 et on créé un tableau en Feuil3
1- vérifier que le code unique en Feuil1 existe en Feuil2.
2- S’il existe, on colle la ligne de la Feuil1 dans la Feuil3.
3- S’il n’existe pas on colle aussi la ligne entière de la Feuil1 dans la Feuil3 et on met le fond de la cellule en rouge (pour montrer qu’il n’existe que dans la Feuil1).
4- Si le code existe dans les 2 feuilles, alors on compare chaque donnée de chaque colonne. Dès qu’il y a une différence, on met le fond de la cellule en rouge.
5- On passe à la ligne suivante dans la Feuil1
Ensuite on compare le tableau en Feuil2 avec celui créé en Feuil3 :
1- Vérifier que le code unique en Feuil2 existe en Feuil3.
2- S’il existe, on ne fait rien (il a déjà été comparé avant).
3- S’il n’existe pas, alors on colle la ligne entière de la Feuil2 dans la Feuil3 et on met le fond de la cellule du code en rouge.
4- On passe à la ligne suivante dans la feuil2.
Pour terminer, j’ai mis dans le tableau de la feuil3 une colonne en plus qui mettra le résultat de la comparaison pour chaque ligne :
- Existe en Feuil1 et en Feuil2, données équivalentes.
- Existe en Feuil1 et en Feuil2, données différentes.
- Existe en Feuil1, n’existe pas en Feuil2.
- Existe en Feuil2, n’existe pas en Feuil1.
Je précise que le temps d'exécution de la macro n'est pas important (même si elle tourne 5 heures par exemple). La priorité est le résultat.
Je joins un fichier excel avec les tableaux (sans les données, confidentielles :/)
Et je joins aussi une petite image créée sur Paint pour expliquer plus clairement ce que je cherche à faire.
Je vous remercie d'avance pour votre aide 🙂
Novice en macro, je cherche à en créer une pour comparer 2 tableaux. Et j’ai atteint la limite de mes compétences. Je me tourne donc vers vous en espérant trouver une solution.
Voici mon problème :
Je me retrouve avec deux tableaux dont les en têtes de colonne sont équivalents. Il y a à peu près une cinquantaine de colonnes et entre 100000 et 200000 lignes dans chaque tableau (oui c’est énorme, mais je n’ai pas le choix).
Dans les deux cas, en colonne A j’ai créé un concatener qui me permet d’avoir un code unique.
Je cherche à faire une macro pour comparer ces deux tableaux, en créant un 3ème tableau dans la feuil3 (attention, il y a un décalage dans les colonnes pour avoir un « commentaire » dans la colonne A du tableau de la Feuil3).
Le but est d’obtenir un tableau récapitulatif dans lequel j’ai toutes les données sans doublons provenant des tableaux en feuil1 et feuil2. Sachant que le tableau en Feuil1 sert de base, c’est lui dont les données sont justes.
Pour être sûr de tout avoir, j’ai pensé à cette méthodologie :
D’abord on compare le tableau en Feuil1 avec celui en Feuil2 et on créé un tableau en Feuil3
1- vérifier que le code unique en Feuil1 existe en Feuil2.
2- S’il existe, on colle la ligne de la Feuil1 dans la Feuil3.
3- S’il n’existe pas on colle aussi la ligne entière de la Feuil1 dans la Feuil3 et on met le fond de la cellule en rouge (pour montrer qu’il n’existe que dans la Feuil1).
4- Si le code existe dans les 2 feuilles, alors on compare chaque donnée de chaque colonne. Dès qu’il y a une différence, on met le fond de la cellule en rouge.
5- On passe à la ligne suivante dans la Feuil1
Ensuite on compare le tableau en Feuil2 avec celui créé en Feuil3 :
1- Vérifier que le code unique en Feuil2 existe en Feuil3.
2- S’il existe, on ne fait rien (il a déjà été comparé avant).
3- S’il n’existe pas, alors on colle la ligne entière de la Feuil2 dans la Feuil3 et on met le fond de la cellule du code en rouge.
4- On passe à la ligne suivante dans la feuil2.
Pour terminer, j’ai mis dans le tableau de la feuil3 une colonne en plus qui mettra le résultat de la comparaison pour chaque ligne :
- Existe en Feuil1 et en Feuil2, données équivalentes.
- Existe en Feuil1 et en Feuil2, données différentes.
- Existe en Feuil1, n’existe pas en Feuil2.
- Existe en Feuil2, n’existe pas en Feuil1.
Je précise que le temps d'exécution de la macro n'est pas important (même si elle tourne 5 heures par exemple). La priorité est le résultat.
Je joins un fichier excel avec les tableaux (sans les données, confidentielles :/)
Et je joins aussi une petite image créée sur Paint pour expliquer plus clairement ce que je cherche à faire.
Je vous remercie d'avance pour votre aide 🙂