Concatenation de fichiers avec une colonne de référence

StickMan

XLDnaute Nouveau
Bonjour à tous, je nouveau sur excel est mon problème est le suivant :
j’ai trois fichiers qui proviennent d’une extraction BO… les fichiers ont en commun une colonne matriculée, et le reste complètement différent .

Mon premier fichier : matricule ; nom ; prénom ; taille ; poids etc.,…
le deuxième : matricule ; adresse, tel ; mail ; ville ; etc.…
et le troisième : matricule, lieux de travail, poste de travail, date d’embauche, etc.…

Je voudrais concaténer les trois fichiers dans une seule avec pour point de référence le matricule pour avoir sur une seule ligne :
« matricule ; nom ; prénom ; taille ; poids, adresse, tel ; mail, ville, lieux de travail, poste de travail, date d’embauche »

Merci davance pour votre aide.

Ps: j'ai testé ce code ci-dessous qui concatene bien mais ne prend pas en compte le matricule.

Code:
'Sub Compilation()
'Dim Temp As String
'Temp = Dir(ActiveWorkbook.Path & "\*.xls")
'Application.DisplayAlerts = False
'Do While Temp <> ""
'  If Temp <> "index.xlsm" Then
'    Workbooks.Open ActiveWorkbook.Path & "\" & Temp
'    Workbooks(Temp).Sheets(1).Range("A1").CurrentRegion.Copy
 '   Workbooks("index.xlsm").Sheets(1).Activate
'    If Cells(1, 1) = "" Then col = 1 Else col = Cells(1, 1).End(xlToRight).Column + 1
'    Cells(1, col).Select
'    ActiveSheet.Paste
'    Workbooks(Temp).Close
'  End If
'  Temp = Dir
'Loop
'Range("A1").Select
'Application.DisplayAlerts = True
'End Sub
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Concatenation de fichiers avec une colonne de référence

Bonsoir StickMan et bienvenu sur XLD,

Les matricules sont aux mêmes nombres dans les 3 fichiers ? Identiques sur les 3 fichiers ?
3 petits fichiers exemples sans données confidentielles seraient les bienvenus.

A te relire

Martial
 

StickMan

XLDnaute Nouveau
Re : Concatenation de fichiers avec une colonne de référence

Bonjour Martial,
ci-joint les fichiers...le script (dans l'index) concatene bien mais c'est la bazar...
Bien à toi
 

Pièces jointes

  • Index-1.xlsm
    14.3 KB · Affichages: 34
  • Classeur3.xls
    29 KB · Affichages: 45
  • Classeur2.xls
    26.5 KB · Affichages: 38
  • Classeur1.xls
    29 KB · Affichages: 37
  • Classeur3.xls
    29 KB · Affichages: 43
  • Classeur2.xls
    26.5 KB · Affichages: 35
  • Classeur1.xls
    29 KB · Affichages: 35
  • Classeur3.xls
    29 KB · Affichages: 36
  • Classeur2.xls
    26.5 KB · Affichages: 32
  • Classeur1.xls
    29 KB · Affichages: 44

Modeste

XLDnaute Barbatruc
Re : Concatenation de fichiers avec une colonne de référence

Bonjour StickMan et bienvenue,
Salut Martial :)

Juste pour le plaisir d'enfoncer une porte ouverte: l'utilisation d'une simple RECHERCHEV ne rendrait-elle pas le même service?

Cette dernière fonctionne, par ailleurs, même si le(s) fichier(s) source(s) est(sont) fermé(s).
 

StickMan

XLDnaute Nouveau
Re : Concatenation de fichiers avec une colonne de référence

Bonjour Modeste comme tu peux le voir dans la capture, je voudrais que les deux fichiers se mettent comme sur les 5 premiéres lignes avec comme ponit de référence le matricule.
Capture-excel.jpg
 

Modeste

XLDnaute Barbatruc
Re : Concatenation de fichiers avec une colonne de référence

Re,

Voici ce que j'ai fait:
...
  • Copié-collé les données de Classeur1 (titres compris) dans les premières colonnes de Index
  • Ouvert Classeur2
  • En E1 à J1 de Index, recopié les titres des colonnes de Classeur2
  • En E2 de Index, inscrit cette formule:
    Code:
    =INDEX([classeur2.xls]Feuil1!$A$2:$F$30;EQUIV($A2;[classeur2.xls]Feuil1!$A$2:$A$30;0);EQUIV(E$1;[classeur2.xls]Feuil1!$A$1:$F$1;0))
  • Recopié cette formule vers le bas et à droite

ça donne:
StickMan.jpg

Mêmes manipulations et formule à réaliser avec le Classeur3.

... Tu verras bien si ça te convient... ou pas :)
 

Yaloo

XLDnaute Barbatruc
Re : Concatenation de fichiers avec une colonne de référence

Bonsoir StickMan,
Salut Modeste :),

Les matricules sont aux mêmes nombres dans les 3 fichiers ? Identiques sur les 3 fichiers ?
3 petits fichiers exemples sans données confidentielles seraient les bienvenus.

Tu n'as pas répondu à mes questions. As-tu le même nombre de matricule et les mêmes matricules dans tous les fichiers ?

A+

Martial
 

Yaloo

XLDnaute Barbatruc
Re : Concatenation de fichiers avec une colonne de référence

Re,

Si matricules identiques, tu peux utiliser une macro de ce type
VB:
Option Explicit

Sub conca()
Dim i&
'Classeur1
Workbooks.Open (ThisWorkbook.Path & "\" & "Classeur1.xls")
[A1].CurrentRegion.Sort [A1], xlAscending, , , , , , xlYes
[A1].CurrentRegion.Copy ThisWorkbook.Sheets(1).[A1]
ActiveWorkbook.Close 0
'Classeur2
Workbooks.Open (ThisWorkbook.Path & "\" & "Classeur2.xls")
[A1].CurrentRegion.Sort [A1], xlAscending, , , , , , xlYes
With ThisWorkbook.Sheets(1)
  [A1].CurrentRegion.Offset(, 1).Copy .Cells(1, .[IV1].End(xlToLeft).Column + 1)
End With
ActiveWorkbook.Close 0
'Classeur3
Workbooks.Open (ThisWorkbook.Path & "\" & "Classeur3.xls")
[A1].CurrentRegion.Sort [A1], xlAscending, , , , , , xlYes
With ThisWorkbook.Sheets(1)
  [A1].CurrentRegion.Offset(, 1).Copy .Cells(1, .[IV1].End(xlToLeft).Column + 1)
End With
ActiveWorkbook.Close 0
End Sub
 

StickMan

XLDnaute Nouveau
Re : Concatenation de fichiers avec une colonne de référence

Bonsoir StickMan,
Salut Modeste :),



Tu n'as pas répondu à mes questions. As-tu le même nombre de matricule et les mêmes matricules dans tous les fichiers ?

A+

Martial

Bonjour, Yaloo..
oui j'ai le même nombre de matricule dans les fichiers ..et même certain en double

Je teste ton code est reviens vers toi
Merci
Bien à toi
 
Dernière édition:

StickMan

XLDnaute Nouveau
Re : Concatenation de fichiers avec une colonne de référence

whaou! Yaloo ! Super le script ça marche terrible!
Par contre vu que j'ai des doublons il y a un décalage après quelques lignes peut-on améliorer la chose en rajoutant une fonction qui extrait les doublons?
Bien à toi
 

Yaloo

XLDnaute Barbatruc
Re : Concatenation de fichiers avec une colonne de référence

Bonjour StickMan, le forum,

Pour les doublons, si tes lignes (doublées) sont identiques il ne doit pas y avoir de problème. Si tes lignes ne sont pas identiques comment garder la bonne.

A+

Martial
 

StickMan

XLDnaute Nouveau
Re : Concatenation de fichiers avec une colonne de référence

Salut Martial, j'ai fini par supprimer tous les doublons à la main ...pfu...:p
Mais la concatenation ne fait toujours pas par rapport au matricule, j'ai des ligne présentes dans le 2éme fichier mais absent des autres...galére..galére

Bien à toi
 

Discussions similaires

Réponses
3
Affichages
299

Statistiques des forums

Discussions
312 231
Messages
2 086 445
Membres
103 213
dernier inscrit
Poupoule