Fusionner 2 fichiers Excel en un seul

Bonjour tout le monde !

Voilà, j'aimerais pouvoir écrire une macro qui permette de fusionner 2 fichiers EXCEL 2010 en un seul. En fait, je vais recevoir au boulot chaque semaine un fichier EXCEL 2010 mis à jour de manière hebdomadaire, avec parfois les informations répétées 2 fois dans les 2 fichiers.Je voudrais fusionner toutes ces données en un seul fichier sans perdre aucune info, en évitant les doublons et en les classant automatiquement par ordre chronologique (une date étant systématiquement associée à chaque ligne du tableau).

J'ai mis 2 exemples en PJ (fichiers "Exemple 1" et "Exemple 2"). Ces fichiers ont la même forme (5 colonnes avec des données) et suivent donc la date par ordre chronologique (colonne A). J'ai mis dans le fichier "Résultat souhaité" ce que j'aimerais obtenir dans l'idéal avec cette macro, après fusion de "Exemple 1" avec "Exemple 2".

ATTENTION, les fichiers que j'ai joints sont en version .ods car j'ai Libre Office sur mon PC perso ^^

Voilà, j'espère avoir été suffisamment clair dans l'exposition de mon problème ^^ Merci à toutes celles et ceux qui prendront un peu de leur temps pour essayer de m'aider

15exemple-2.ods (11.46 Ko)
14exemple-1.ods (11.41 Ko)

Bonjour AlbRyg, bonjour le forum,

Attention, le résultat que tu affiches dans ton exemple est erroné car tu as garder le doublon : 30/01/18 Bordeaux Train 4 Non

1. Ouvre le fichier en pièce jointe et les deux autres fichiers source, sinon le code ne marchera pas.

2. Clique sur le bouton Récupération des Données.

3. La boîte de dialogue Sélection des Fichiers Source s'ouvre

4. Renseigne le premier fichier source dans la liste

5. Renseigne le second fichier source dans la liste

6. Valide...

code commenté

41albryg-v01.xlsm (36.13 Ko)

Bonjour ThauThème,

Merci beaucoup pour ta réponse et ton aide ! J'ai essayé et ça marche parfaitement !!

J'aurais toutefois besoin de faire évoluer mon problème...

Les fichiers EXCEL que j'ai joint à ma question comportent 5 colonnes, mais il se peut que ce fichier soit modifié dans les jours à venir, avec l'ajout d'autres colonnes et la suppression d'autres (par exemple, une colonne "Pays" pourrait se rajouter entre les colonnes A et B, la colonne E pourrait être remplacée par 2 colonnes "Présence d'enfants <11 ans" et "Présence d'enfants >11 ans", une colonne "Km parcourus" pourrait également être rajoutée, etc.).

J'ai fait le test avec de tels exemples de fichiers et la macro ne marche plus... Y a-t-il un moyen de rendre cette dernière plus "flexible" pour d'autres futurs fichiers qui auront des colonnes différentes que celles de "Exemple 1" et "Exemple 2" ?

En somme, est-il possible de généraliser cette macro afin qu'elle soit adaptable à n'importe quel fichier EXCEL (pourvu que les 2 fichiers-source soit de même format, avec le tri par date selon l'ordre chronologique dans la colonne A) ?

Merci par avance pour ton retour ! Bonne journée à toi !

AlbRyg78

Re,

Désolé mais le code est déjà adapté pour ce genre de modification. En pièces jointes tes fichiers modifiés et le mien où j'ai juste modifié la première ligne mais pas le code... Comme tu pourras le constater, ça fonctionne.

20albryg-v02.xlsm (37.14 Ko)
11exemple-1.ods (4.03 Ko)
9exemple-2.ods (4.02 Ko)

Re-bonjour ThauThème

Effectivement, ça marche bien si on change la 1ère ligne, merci bcp ! A condition toutefois que la date reste dans la 1ère colonne...

Je souhaiterais en fait modifier ces fichiers en rajoutant un n° de commande et une ligne de commande (en colonnes A et B) et basculer la date en colonne C. Chaque ligne est donc unique et identifiée avec le couple "n° commande" + "ligne de commande".

Je souhaiterais continuer à avoir une macro qui trie selon la date, mais en rajoutant une subtilité que je précise ci-dessous :

1/ A mon boulot, je vais recevoir chaque semaine un fichier comme "Fichier du 01.09.17 - AVANT". Seules les 4 premières colonnes seront déjà pré-remplies.

2/ Je vais ensuite remplir manuellement certaines lignes dans les colonnes E, F et G, comme dans le fichier "Fichier du 01.09.17 - APRES".

3/ La semaine d'après, je vais recevoir à nouveau un tel fichier, avec uniquement les colonnes A, B, C et D pré-remplies, comme dans le fichier "Fichier du 08.09.17 - AVANT". Attention, certaines lignes peuvent être répétées dans ce fichier, avec les colonnes E, F et G vides !

Par conséquent, je voudrais que, dans l'idéal, la macro me :

  • fusionne les 2 fichiers "Fichier du 01.09.17 - APRES" et "Fichier du 08.09.17 - AVANT"
  • trie les lignes selon la date de la colonne C
  • conserver les informations renseignées dans les colonnes E, F et G et les attribuer à la bonne ligne (n° commande + ligne de commande)

Du coup, j'ai mis dans le fichier "Résultat final" le fichier que je compte obtenir en appliquant cette macro, selon le mode opératoire décrit ci-dessus.

J'espère avoir été suffisamment clair dans l'exposition de mon problème... Je peux apporter des précisions au besoin, afin de clarifier le plus possible mon propos.

Merci encore énormément pour tout le temps que tu mets à disposition afin de m'aider.

Bonne journée à toi,

AlbRyg78

14resultat-final.xlsx (10.27 Ko)

C'est bien...

Qu'est ce qu'il y a ? ...

En somme, est-il possible de généraliser cette macro afin qu'elle soit adaptable à n'importe quel fichier EXCEL (pourvu que les 2 fichiers-source soit de même format, avec le tri par date selon l'ordre chronologique dans la colonne A) ?

Contrat rempli donc...

Ben... Je ne suis pas sûr ?

J'ai fait évoluer mon problème dans mon post à 13h50. Est-ce que ca bouleverse complètement le code que tu m'as gentillement réalisé ?

Sinon je devrai relancer le nouveau sujet dans une autre question sur le forum, non ?

Rechercher des sujets similaires à "fusionner fichiers seul"