Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fusionner deux fichiers Excel

5 réponses
Avatar
Matt
Bonjour,

Voici mon problème :

Je dispose de deux fichiers Excel relatifs à la clientèle d'une entreprise.

Le premier fichier renferme les données financières de la clientèle (achats,
état du compte, etc), Chaque entrée financière = 1 ligne du fichier.
Le client est à chaque fois identifié par son n° personnel.

Le second fichier renferme les données personnelles des clients (date de
naissance, sexe, adresse, etc). Chaque client = 1 ligne du fichier.
Le client est à chaque fois identifié par son n° personnel.

Ce que j'aimerais faire est d'importer sur chaque ligne du fichier financier
les données personnelles du client, de sorte à pouvoir disposer d'un fichier
me permettant de faire des statistiques.
Le seul élément d'identification commun aux deux fichiers est le n°
d'identification personnel de chaque client, figurant à chaque ligne des deux
fichiers.

Y a-t-il moyen de faire cela ?

Merci d'avance !

NB : ce n'est pas moi qui ai décidé de créer ainsi deux fichiers séparés,
donc pas besoin de m'engueuler ;-).
Par contre, c'est moi qui suis chargé de tenter de désembrouiller ce b...

5 réponses

Avatar
Jacky
Bonjour

Une idée comme ça.....
En faisant un tri sur les deux fichiers par le n° d'identification
et un 'copier' du deuxième et un 'coller' à la suite de la dernière colonne
du premier,
cela ne fonctionnerai pas ??

JJ




"Matt" a écrit dans le message de
news:
Bonjour,

Voici mon problème :

Je dispose de deux fichiers Excel relatifs à la clientèle d'une
entreprise.


Le premier fichier renferme les données financières de la clientèle
(achats,

état du compte, etc), Chaque entrée financière = 1 ligne du fichier.
Le client est à chaque fois identifié par son n° personnel.

Le second fichier renferme les données personnelles des clients (date de
naissance, sexe, adresse, etc). Chaque client = 1 ligne du fichier.
Le client est à chaque fois identifié par son n° personnel.

Ce que j'aimerais faire est d'importer sur chaque ligne du fichier
financier

les données personnelles du client, de sorte à pouvoir disposer d'un
fichier

me permettant de faire des statistiques.
Le seul élément d'identification commun aux deux fichiers est le n°
d'identification personnel de chaque client, figurant à chaque ligne des
deux

fichiers.

Y a-t-il moyen de faire cela ?

Merci d'avance !

NB : ce n'est pas moi qui ai décidé de créer ainsi deux fichiers séparés,
donc pas besoin de m'engueuler ;-).
Par contre, c'est moi qui suis chargé de tenter de désembrouiller ce b...


Avatar
Matt
Hello,

Cela fonctionnerait bien sur s'il y avait le même nombre de lignes dans
chaque fichier.
Cependant, cela n'est pas le cas.
En effet, le fichier clients compte 965 personnes, soit 965 lignes.
Et le fichier financier compte plus de 6'000 lignes, soit autant de lignes
qu'il y a d'opérations financières. Par exemple, un client pour lequel il y a
15 opérations financières aura 15 lignes portant son n°.

En clair, dans le fichier clients, il y a autant de lignes que de clients.
Et dans le fichier financier, il y a autant de lignes que d'opérations, et
beacoup de clients ont plus d'une opération à leur actif.



Bonjour

Une idée comme ça.....
En faisant un tri sur les deux fichiers par le n° d'identification
et un 'copier' du deuxième et un 'coller' à la suite de la dernière colonne
du premier,
cela ne fonctionnerai pas ??

JJ




"Matt" a écrit dans le message de
news:
Bonjour,

Voici mon problème :

Je dispose de deux fichiers Excel relatifs à la clientèle d'une
entreprise.


Le premier fichier renferme les données financières de la clientèle
(achats,

état du compte, etc), Chaque entrée financière = 1 ligne du fichier.
Le client est à chaque fois identifié par son n° personnel.

Le second fichier renferme les données personnelles des clients (date de
naissance, sexe, adresse, etc). Chaque client = 1 ligne du fichier.
Le client est à chaque fois identifié par son n° personnel.

Ce que j'aimerais faire est d'importer sur chaque ligne du fichier
financier

les données personnelles du client, de sorte à pouvoir disposer d'un
fichier

me permettant de faire des statistiques.
Le seul élément d'identification commun aux deux fichiers est le n°
d'identification personnel de chaque client, figurant à chaque ligne des
deux

fichiers.

Y a-t-il moyen de faire cela ?

Merci d'avance !

NB : ce n'est pas moi qui ai décidé de créer ainsi deux fichiers séparés,
donc pas besoin de m'engueuler ;-).
Par contre, c'est moi qui suis chargé de tenter de désembrouiller ce b...







Avatar
LSteph
Bonjour Matt,

Si je comprends tu as deux matrices chacune dans un fichier différent avec
pour index le numéro personnel

Voici l'idée:
=index(tableau;ligne;colonne) que l'on combine avec
=equiv(valeur;matrice;type)
soit ici
=index(tableau;Equiv(valeur;matrice;0);num colonne)
Donc dans finanncier:
Nommons celle de l'autre "personnel" ( cela peut être en référence à par
exemple DPers.xls! $a$2:$k$1000)
et ajoutons toute(s) colonne nécessaire à la récupération des éléments de
personnel .
On suppose que dans financier le numéro est en colonne A et dans personnel
en colonne H
ainsi dans financier et que l'on veut récupèrer la colonne E soit 5:

=INDEX(personnel;EQUIV(A2;[Dpers.xls]feuil1!$H$2:$H$1000;0);5)
Il suffira , si l'on respecte bien les $ (réf absolues ou relatives) ensuite
de recopier vers le bas cette formule
et d'en faire idem pour les autres colonnes à récupèrer.

lSteph

"Matt" a écrit dans le message de news:

Bonjour,

Voici mon problème :

Je dispose de deux fichiers Excel relatifs à la clientèle d'une
entreprise.

Le premier fichier renferme les données financières de la clientèle
(achats,
état du compte, etc), Chaque entrée financière = 1 ligne du fichier.
Le client est à chaque fois identifié par son n° personnel.

Le second fichier renferme les données personnelles des clients (date de
naissance, sexe, adresse, etc). Chaque client = 1 ligne du fichier.
Le client est à chaque fois identifié par son n° personnel.

Ce que j'aimerais faire est d'importer sur chaque ligne du fichier
financier
les données personnelles du client, de sorte à pouvoir disposer d'un
fichier
me permettant de faire des statistiques.
Le seul élément d'identification commun aux deux fichiers est le n°
d'identification personnel de chaque client, figurant à chaque ligne des
deux
fichiers.

Y a-t-il moyen de faire cela ?

Merci d'avance !

NB : ce n'est pas moi qui ai décidé de créer ainsi deux fichiers séparés,
donc pas besoin de m'engueuler ;-).
Par contre, c'est moi qui suis chargé de tenter de désembrouiller ce b...


Avatar
ClémentMarcotte
Bonjour,

Je n'ai pas essayé, mais je pencherais pour une requête. Pour ne pas risquer
de tout perdre en chemin, je partirais d'un classeur vierge et je ferais
Données - Données Externes - Créer une requête.

La colonne du numéro d'identification devient la "jointure" qui permettrait,
en principe, de tout rabouter comme du monde.



"Matt" a écrit dans le message de
news:
Bonjour,

Voici mon problème :

Je dispose de deux fichiers Excel relatifs à la clientèle d'une
entreprise.


Le premier fichier renferme les données financières de la clientèle
(achats,

état du compte, etc), Chaque entrée financière = 1 ligne du fichier.
Le client est à chaque fois identifié par son n° personnel.

Le second fichier renferme les données personnelles des clients (date de
naissance, sexe, adresse, etc). Chaque client = 1 ligne du fichier.
Le client est à chaque fois identifié par son n° personnel.

Ce que j'aimerais faire est d'importer sur chaque ligne du fichier
financier

les données personnelles du client, de sorte à pouvoir disposer d'un
fichier

me permettant de faire des statistiques.
Le seul élément d'identification commun aux deux fichiers est le n°
d'identification personnel de chaque client, figurant à chaque ligne des
deux

fichiers.

Y a-t-il moyen de faire cela ?

Merci d'avance !

NB : ce n'est pas moi qui ai décidé de créer ainsi deux fichiers séparés,
donc pas besoin de m'engueuler ;-).
Par contre, c'est moi qui suis chargé de tenter de désembrouiller ce b...


Avatar
Jacky
Re....
S'il n'y a pas encore de solution.......
Le code ci-dessous devrait faire..
A condition que les n° d'identification soient en colonne A dans les deux
classeurs
'----------
Sub jj()
Nc_dest = "classeur3.xls" ' nom du classeur de destination(celui de + de
6000lignes)*
f_dest = "feuil1" 'nom de la feuille destination *
Nc_source = "classeur4.xls" 'nom du classeur source (celui des 965
personnes) *
f_source = "feuil1" 'nom de la feuille source *
'* = A renseigner
Application.ScreenUpdating = False
derlg_source Workbooks(Nc_source).Sheets(f_source).Range("a65536").End(3).Row
derlg_destination Workbooks(Nc_dest).Sheets(f_dest).Range("a65536").End(3).Row
For Each C In Workbooks(Nc_source).Sheets(f_source).Range("a2:a" &
derlg_source)
Workbooks(Nc_dest).Activate
For Each E In Workbooks(Nc_dest).Sheets(f_dest).Range("a2:a" &
derlg_destination)
If C = E Then
Workbooks(Nc_source).Sheets(f_source).Activate
If Range(Cells(C.Row, 2), Cells(C.Row, 2)).Value <> "" Then
dercol_copie = Workbooks(Nc_source).Sheets(f_source).Range("iv" &
C.Row).End(xlToLeft).Column
Range(Cells(C.Row, 2), Cells(C.Row, dercol_copie)).Copy
Workbooks(Nc_dest).Sheets(f_dest).Activate
dercol_destination = Range("iv" & E.Row).End(xlToLeft).Column + 1
'destination
adresse_destination = Range(Cells(E.Row, dercol_destination),
Cells(E.Row, dercol_destination)).Address
ActiveSheet.Paste Destination:=Range(adresse_destination)
Exit For
End If
End If
Next
Next
Application.ScreenUpdating = True
End Sub
'----------------
Salutations
JJ

"Jacky" a écrit dans le message de
news:
Bonjour

Une idée comme ça.....
En faisant un tri sur les deux fichiers par le n° d'identification
et un 'copier' du deuxième et un 'coller' à la suite de la dernière
colonne

du premier,
cela ne fonctionnerai pas ??

JJ




"Matt" a écrit dans le message de
news:
Bonjour,

Voici mon problème :

Je dispose de deux fichiers Excel relatifs à la clientèle d'une
entreprise.


Le premier fichier renferme les données financières de la clientèle
(achats,

état du compte, etc), Chaque entrée financière = 1 ligne du fichier.
Le client est à chaque fois identifié par son n° personnel.

Le second fichier renferme les données personnelles des clients (date de
naissance, sexe, adresse, etc). Chaque client = 1 ligne du fichier.
Le client est à chaque fois identifié par son n° personnel.

Ce que j'aimerais faire est d'importer sur chaque ligne du fichier
financier

les données personnelles du client, de sorte à pouvoir disposer d'un
fichier

me permettant de faire des statistiques.
Le seul élément d'identification commun aux deux fichiers est le n°
d'identification personnel de chaque client, figurant à chaque ligne des
deux

fichiers.

Y a-t-il moyen de faire cela ?

Merci d'avance !

NB : ce n'est pas moi qui ai décidé de créer ainsi deux fichiers
séparés,


donc pas besoin de m'engueuler ;-).
Par contre, c'est moi qui suis chargé de tenter de désembrouiller ce
b...