Comparer 2 onglets et surligner les différences

[Résolu/Fermé]
Signaler
-
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
-
Bonjour à tous,

 
Je suis actuellement chargée de gérer un fichier Excel de 5000 lignes et 50 colonnes qui doit être mis à jour chaque mois (et bientôt chaque semaine).
Je rêverai de maitriser le VBA pour me permettre de gagner du temps sur ce travail assez fastidieux et mangeur de temps mais ce n'est pas le cas bien que je pense pouvoir y trouver (avec votre aide) une solution.
 
Mon fichier Excel (fichier consolidé mensuel) comporte des données de tout type (texte, date, nombre) que je doit mettre à jour à partir de 8 fichiers (= 8 services).
 
Pourriez-vous m'aider afin :
- De comparer chaque Colonne de mon fichier Source avec les 8 fichiers "contributeurs" (l'ordre des colonnes est identique mais pas celui des lignes)
- D'identifier les cellules modifiées dans le fichier source (cellule bleu)
- D'identifier les lignes ajoutées au fichier source (ligne en jaune)
- D'identifier les lignes supprimées au fichier source (ligne en rouge)
 

J'ai regardé dans les autres discussions des sujets similaires mais il n'était question que de comparer une colonne d'une autre et j'avoue ne pas savoir comment aller "plus loin".
 
Si vous avez un peu de temps à m'accorder, sur une solution ou un début de solution afin de m'ouvrir la voie, je suis preneuse.
 
Une explication plus visuelle en pj : https://www.cjoint.com/c/ELDnRawZ6Bj
:)
 
Merci d'avance!
Emilie


Excel 2007 - Windows 7
A voir également:

2 réponses

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 530
Bonjour,

Ton problème est assez complexe mais tu l'as bien présenté alors si je peux t'aider à avancer, ce sera avec plaisir.

Quelques questions :
- je doit mettre à jour à partir de 8 fichiers
ces classeurs seraient à comparer globalement avec ce que tu appelles le fichier source ?
sont-ils dans un même répertoire, seuls ou avec un signe distinctif ?

- ta première colonne "index" est-elle unique sur les 9 classeurs et peut-elle servir de "clé" de ligne ?
Serait-il possible de trier sur cette colonne ou doit-on garder le tri du classeur source en introduisant en fin les ajouts ?

- tes classeurs n'ont-ils qu'une seule feuille ?
ou l'onglet à comparer a-t-il toujours le même nom ?

- le classeur résultat sert-il de classeur source pour la prochaine comparaison ?

Je rêverai de maitriser le VBA pour me permettre de gagner du temps sur ce travail assez fastidieux et mangeur de temps
Effectivement, je pense que tu devrais pouvoir gagner un peu de temps : c'est bien vu.
Messages postés
14
Date d'inscription
mardi 29 décembre 2015
Statut
Membre
Dernière intervention
15 janvier 2016
11
Bonjour gbinforme et merci de m'aider!

- je dois mettre à jour à partir de 8 fichiers
ces classeurs seraient à comparer globalement avec ce que tu appelles le fichier source ?
sont-ils dans un même répertoire, seuls ou avec un signe distinctif ?


Qu'entends-tu par globalement ?
Chaque classeur est à comparer avec le fichier source : chaque modification doit apparaitre coloré pour les identifier et cela me permet de les analyser cellule par cellule. (Donc oui, comparaison globale je dirais).

Chaque mois je reçois les 8 fichiers qui ont :
- le même nombre de colonne
- le même intitulé de colonne
- le même ordre de colonne
mais qui travaillent sur des données différentes (chacun pour leur service)
Et je mets à jour le fichier source sur le nouveau nombre de ligne et les nouvelles données

Je les reçois par mail et ne les classe pas dans un même répertoire actuellement. J'ouvre les mails et traite les fichiers un à un... mais tout conseil d'optimisation est bon à prendre.

visuel en PJ : https://www.cjoint.com/c/ELEitKv2vcj

- ta première colonne "index" est-elle unique sur les 9 classeurs et peut-elle servir de "clé" de ligne ?
Oui. Je m'en sers actuellement pour mettre à jour à partir de =rechercheV
Du coup si je la retrouve le mois d'après = je mets à jours les cellules modifiées
si je ne la trouve pas dans le fichier contribution = ligne à supprimer (rouge)
si je ne la trouve pas dans le fichier source = ligne à ajouter (jaune)

Serait-il possible de trier sur cette colonne ou doit-on garder le tri du classeur source en introduisant en fin les ajouts ?
Aucun problème pour trier sur cette colonne.

- tes classeurs n'ont-ils qu'une seule feuille ?
ou l'onglet à comparer a-t-il toujours le même nom ?

Les 8 classeurs n'ont généralement qu'une feuille. Si non, je peux supprimer les autres sans problème. Pour le nom il diffère d'un fichier à un autre.
Pour le fichier source il a plusieurs onglets mais celui qui nous intéresse ici s'appelle data (et peut être renommer au besoin).

- le classeur résultat sert-il de classeur source pour la prochaine comparaison ?
Oui. Une fois la mise à jour faite, il devient le fichier de référence pour le mois en cours.
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 530
Bonjour,

Ok, cela correspond assez à l'idée que j'avais et je te fais un exemple avec tes données fournies ... pour l'an prochain peut-être ;-)

Je verrais bien la sauvegarde des "fichiers contribution" dans un répertoire puis après les 8 réceptions :
- soit l'on y écrit le classeur résultat : cela te ferait un historique à conserver
- soit l'on supprime pour le mois suivant
selon ton choix.

Bon réveillon en attendant.
Messages postés
14
Date d'inscription
mardi 29 décembre 2015
Statut
Membre
Dernière intervention
15 janvier 2016
11 >
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020

Je te remercie!

pour l'an prochain peut-être ;-)
Aucun problème, cela fait un an et demi que je m'amuse avec =rechercheV, je peux bien attendre encore un peu :)

Très bon réveillon à toi,
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 530
Bonjour EmyChav et bonne année 2016,

Qu'entends-tu par globalement ?
En fait je voulais dire de traiter globalement le fichier source avec les 8 contributions. Cela suppose que tu enregistres les contributions au fur et à mesure de leur arrivée et tu traites l'ensemble en une seule fois. Comme la comparaison sera rapide, je ne pense pas que cela soit un souci : à toi de dire.

Nous voici en nouvelle année alors je te soumet ma solution :

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

avec tes classeurs test : https://www.cjoint.com/c/FAdq0ZFVxJl

Pour le fichier source il a plusieurs onglets mais celui qui nous intéresse ici s'appelle data
J'ai tenu compte de l'information et le classeur résultat ne touche que l'onglet "data" en créant le nouveau classeur.
Si les classeurs 'contributions' ont plusieurs onglets je ne tiens compte que de la feuille active à l'ouverture et laisse les noms totalement libres.
Pour le classeur résultat je t'ai proposé un nom lié au mois mais si tu veux une autre nomination il suffit de me dire.

Le classeur de traitement n'est pas impacté par le traitement et peux être situé où tu choisis. Lorsque tu l'ouvres, il faut par contre activer les macros car sinon tu n'auras aucun traitement.

bon test.

 Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.  Antoine de Saint-Exupéry
Messages postés
14
Date d'inscription
mardi 29 décembre 2015
Statut
Membre
Dernière intervention
15 janvier 2016
11
Bonjour gbinforme, mes meilleurs voeux pour cette nouvelle année!

Je vais tester de suite et te remercie pour ton aide, vraiment.
Messages postés
14
Date d'inscription
mardi 29 décembre 2015
Statut
Membre
Dernière intervention
15 janvier 2016
11
Bonjour gbinforme,

Après avoir tester sur mes fichiers de travail je te confirme (mais tu le sais déjà!) que cela fonctionne. C'est un peu une révolution pour moi, autant dire que 2016 commence super bien!

Encore Merci à toi. :)
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 530
Bonjour EmyChav,

Merci de ton message sympathique.

C'est un peu une révolution pour moi : je comprends car comme tu avais bien cerné et expliqué ton projet, une solution en quelques minutes donne le résultat de nombreuses heures fastidieuses, je suppose.

Donc bonne année 2016 à toi !