Comparer 2 onglets et surligner les différences

Résolu/Fermé
EmyChav - Modifié par EmyChav le 29/12/2015 à 15:57
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 15 janv. 2016 à 16:19
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

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
29 déc. 2015 à 22:33
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.
0
EmyChav Messages postés 14 Date d'inscription mardi 29 décembre 2015 Statut Membre Dernière intervention 15 janvier 2016 11
Modifié par EmyChav le 30/12/2015 à 09:25
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.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
30 déc. 2015 à 10:25
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.
0
EmyChav Messages postés 14 Date d'inscription mardi 29 décembre 2015 Statut Membre Dernière intervention 15 janvier 2016 11 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
30 déc. 2015 à 10:33
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,
0