fusion de tableau avec comparaison d'une cellule

Emmaude

XLDnaute Nouveau
Bonjour,

j'en appelle aux dieux d'Excel, pour un gros travail, bien au delà de mes compétences :p

Voilà mon objectif :
dans chacun des tableaux Lancelot et Solis, je dois comparer l'identifiant, et lorsque celui correspond, j'aimerai coller la ligne d'un des tableaux sur l'autre, à la suite de celle contenant le bon identifiant (ou créer une autre feuille, un autre classeur, ça m'est égal), pour obtenir quelque chose qui correspond au tableau "exemple".

Si'il n'est pas possible de coller les lignes sans correspondance, juste me les mettre en surbrillance suffit aussi

D'avance merci aux âmes charitables qui auront pitié de moi !!!
 

Pièces jointes

  • SOLIS.xls
    63.5 KB · Affichages: 27
  • LANCELOT.xls
    61 KB · Affichages: 22
  • exemple.xls
    64.5 KB · Affichages: 27

Modeste

XLDnaute Barbatruc
Bonjour Emmaude,

:rolleyes: Les Dieux d'Excel étaient aux abonnés absents hier ... moi yé souis la bonne: lé patrone il est pas là!

Il manque quelques infos, pour bien faire: la manipulation que tu veux réaliser, tu devras la refaire 5 fois par jour ... ou une seule fois par mois? Quel sera le volume (nombre total d'identifiants) que tu auras à traiter?
Les identifiants ne sont pas tous repris dans un des 2 fichiers (si j'ai bien vu?) mais, dans chacun des 2 fichiers (Lancelot et Solis), chaque identifiant ne sera repris qu'une seule fois?

Si on peut dresser une liste -sans doublons- de tous les identifiants, une simple RECHERCHEV devrait permettre ensuite d'obtenir les infos de chacun des 2 fichiers ... ou alors j'ai mal compris?
 

Emmaude

XLDnaute Nouveau
Bonjour Modeste !

Je vais essayer de répondre à tes questions :
- je ne devrais le faire qu'une fois par mois
- cela peut aller jusqu'entre 1500 et 2000 lignes à traiter
- les identifiants ne sont pas tous repris dans les deux fichiers, d'ou le besoin de les faire ressortir, comme vous voulez ;)
- il ne doit pas y avoir de doublons d'identifiants dans les tableaux

Je pense qu'une RECHERCHEV pourrait suffir, effectivement, mais comment fusionner les 2 fichiers ?

PS : j'ai transmis 3 fichiers, mais si c'est plus simple, cela peut être dans un seul classeur et 3 feuilles par exemple, cela m'est égal
 

Yurperqod

XLDnaute Occasionnel
Ci-dessous cette première macro recopie les données dans le fichier exemple
(la macro sera copiée dans exemple.xls)
VB:
Sub test()
Dim Classeur As Workbook
For Each Classeur In Workbooks
Select Case Classeur.Name
Case Is = "LANCELOT.xls", "SOLIS.xls"
Classeur.Sheets(1).Rows("2:" & Classeur.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row).Copy _
ThisWorkbook.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End Select
Next
End Sub

En regardant, le résultat de la macro, on voit que comme les titres colonnes ne sont pas identiques dans tous les fichiers, les données sont mélangées au final.

Il faudrait que les colonnes soient strictement identiques dans tous les fichiers pour que ma macro soit utile.
 

Modeste

XLDnaute Barbatruc
Re-bonjour Emmaude,
Bonjour Yurperqod,


@Yurperqod: pour autant que j'aie compris, les titres des colonnes sont différents dans les 2 fichiers (hors 3 colonnes communes), parce que les données le sont aussi. Ta macro ferait un simple copier-coller des 2 fichiers l'un en dessous de l'autre? (sauf erreur de ma part). L'idée ici serait de remettre sur une même ligne, les données des 2 fichiers dont l'identifiant est identique. Emmaude nous dira si cette explication est correcte!?

@Emmaude: pour mettre en évidence les doublons, dans tes fichiers de départ, une simple MFC ne pourrait-elle pas suffire? Il y en a une qui recherche précisément les doublons: sélectionner la colonne des identifiants > MFC > Règles de mise en surbrillance des cellules > Valeurs en double
Pour obtenir (dans le même classeur ou ailleurs!) une liste de tous les identifiants sans doublons, tu peux copier-coller les identifiants des 2 fichiers dans une même colonne d'un classeur vierge, puis Données > Supprimer les doublons.
Ne resterait ensuite que les RECHERCHEV à insérer ... Dis-nous déjà si c'est OK jusque là ...
 

Yurperqod

XLDnaute Occasionnel
Bonjour Modeste

Mon idée est d'abord de tout copier sur une seule feuille
(à condition que la structure des fichiers sources soit identique)
Ensuite dans la feuille destination des copies, je supprime les doublons (en me basant sur la colonne Identifiant)
(Je n'ai pas encore écris cette partie de la macro)
 

Emmaude

XLDnaute Nouveau
Oui c'est bien ca Modeste, tu as tout compris. Il me faut les donnees sur la meme ligne, en copiant de l'un sur l'autre ou sur une nouvelle feuille toutes les colonnes de chaque tableau. Quelle complication :(

Effectivement, j'avais pensé à la MFC, avant de lancer la macro il me suffit de vérifier les doublons au moment de l'extraction des fichiers.
 

Emmaude

XLDnaute Nouveau
@Modeste : non je parlais de la mise en forme conditionnelle... si j'ai deux valeurs identiques je dois de toute façon écarter ces données de mon tableau.

@Yurperqod : je n'ai que deux colonnes identiques en fait, les colonnes "nom" et "identifiant", le reste, est différent, et ce sont ces colonnes que je cherche à rapprocher et comparer
 

Yurperqod

XLDnaute Occasionnel
Emmaude
Oui mais ces colonnes ne sont pas à la même place dans tous les fichiers
(exemple Identifiant -> Colonne A et Nom -> Colonne B)
N'est-ce pas possible que les fichiers soient façonnées de la même manière ?

Cela faciliterait alors le traitement par macro de tes fichiers.
 

Modeste

XLDnaute Barbatruc
Bonsoir,

Une sorte de "mix" en pièce jointe: j'ai rassemblé les différents fichiers en un seul, mais ce n'est pas une obligation ... il ne faut "téléverser" (j'adore! :p) qu'un seul fichier au stade actuel.
Comme toutes les feuilles avaient le même nom, j'ai modifié les noms des onglets des 2 fichiers "source".
Une macro s'exécute à chaque activation de la feuille récapitulative (AVRIL 2016) qui ne contient que les titres de colonnes, ainsi que des formules.
J'ai laissé la feuille du fichier "exemple" de départ ... pour comparer les résultats. Elle peut être supprimée par la suite.
La macro garnit la colonne B de l'onglet "AVRIL 2016", en extrayant les identifiants présents dans les deux autres feuilles. Il n'y aura pas de doublons, même s'il y en a dans les feuilles LANCELOT ET SOLIS.
Des formules INDEX+EQUIV permettent de remplir les autres colonnes, dès que les identifiants apparaissent en colonne B. Dans les colonnes aux en-têtes jaunes, les données de la feuille SOLIS. Celles de la feuille LANCELOT dans les vertes. Les formules différent un peu, dans ces deux séries.


Attention: dans la feuille LANCELOT, les identifiants sont considérés par Excel comme du texte (résultat de l'export des données depuis une autre application, peut-être!?) MAIS ce n'est pas le cas des identifiants en feuille SOLIS ... Bizarre!!?

Il faudrait préciser la version d'Excel utilisée, qu'on sache si on peut utiliser la fonction SIERREUR pour masquer les #N/A ou s'il faut le faire "à l'ancienne" :rolleyes:

... à tester ...
 

Pièces jointes

  • Récap.xls
    72 KB · Affichages: 29

Statistiques des forums

Discussions
312 368
Messages
2 087 661
Membres
103 633
dernier inscrit
Surfer