Copier coller des données d'un fichier vers un autre

Salut le forum

Je viens solliciter votre aide pour un travail important.

En effet, j’ai deux (2) fichiers.

A partir du fichier de départ« ETAT_RECAP_1 » je dois copier les données et les coller sur le fichier « Fiche_Base ».

Seuls les éléments de la colonne c du fichier «ETAT_RECAP_1» ayant leur correspondance dans la colonne c du fichier de destination (Fiche_Base) devront être collés sinon pas de collage.

Les données du fichier de départ (C:I) doivent être collées respectivement (et sur la ligne correspondante) en C, D, E, H, J, L et N.

Suivant l’esprit de notre besoin, si tout se passe bien, les éléments colorés en jaune du fichier "ETAT_RECAP_1" devront être copiés et collés sur le fichier « FICHE_BASE »

NB: nous avons utilisés la couleur jaune pour faciliter la compréhension sinon dans le fichier réel il n'ya de couleur

Merci

26etat-recap-1.xlsx (70.21 Ko)
25fiche-base.xlsx (10.58 Ko)

Bonjour,

Un essai

43fiche-base.xlsx (21.39 Ko)

Salut DjiDji59430

Merci pour votre solution.

Comment ce se passe car je vois pas macro liée.

re,

normal, il n'y en a pas.

C'est traité par les formules.

Bonjour DjiDji59430

J'ai regardé les formules mais bien peur que ca ne puisse pas tout vérifier.

Les données des deux fichiers n'ont pas la même taille.

Je pense que chaque client (numéro de la colonne C) devra être comparé avec tous les clients de la colonne C du fichier "Fiche_base".

Je pense que par formule il sera difficile.

Je souhaite que celui qui voit mon idée puisse m'aider.

Cordialement

Bonjour,

quelle est la taille en ligne du fichier "base" en réalité ?

tu mets toi -même lesn° de client dans etat_recap ou bien -une macro doit vérifier les lignes (sur base de leur couleur jaune ???) et rapatrier les données qui leur correspondent ?

si peu de données dans etat_recap et si les n° de client sont bien des nombres des 2 côtés , ça peut se faire par formule

tu peux en dire plus ?

Un début ici par formule (les 2 fichiers se trouvant dans le même répertoire !!!)

P.

23fiche-base.xlsx (10.57 Ko)
24etat-recap-1.xlsx (63.69 Ko)

Bonjour patrick1957

Merci pour votre contribution.

quelle est la taille en ligne du fichier "base" en réalité ?

Le fichier "base" fait 30503 lignes.

u mets toi -même lesn° de client dans etat_recap ou bien -une macro doit vérifier les lignes (sur base de leur couleur jaune ???) et rapatrier les données qui leur correspondent ?

C'est moi même qui renseigne le fichier "ETAT_RECAP". Après l'avoir renseigné, je dois maintenant actualisé le fichier "fiche_base" à partir des données du fichier "ETAT_RECAP".

si peu de données dans etat_recap et si les n° de client sont bien des nombres des 2 côtés , ça peut se faire par formule

Les données dans "ETAT_RECAP" varient avec minimum 1000 lignes.

A votre disposition pour plus d'éclaircissement.

Je vous reviens après appréciation de votre solution

re,

tu dois avoir 2 fichiers ou tu peux tout mettre dans 2 onglets du même classeur ? quitte à masquer "base"

tu recherches toutes les données de "etat" dans fiche_base ou que les lignes jaunes ou nouvelles ?

Voilà un début à défaut de lire tes réponses;

je dois m'absenter tout le week end, donc je ne saurai plus te répondre mais il y a bien qq un ici qui pourra

ps: je te joins les 2 fichiers de test à placer dans un même répertoire d'essai

Patrick

21fiche-base.xlsx (11.51 Ko)
31etat-recap-1.xlsm (71.47 Ko)

Salut Patrick et le forum

Merci pour les essais.

Le test n'est pas concluant.

Quand j'exécute la macro, les données à copier sont purgés mais pas de collage.

Patrick étant absent pour raison de voyage quelqu'un peut me donner un coup de main?

Merci

Avant de quitter...

tu dois ouvrir les 2 fichiers, je n'ai pas écris le code qui ouvre la base de données....

Ils sont bel et bien ouverts.

zombe a écrit :

Bonjour DjiDji59430

J'ai regardé les formules mais bien peur que ca ne puisse pas tout vérifier.

Cordialement

Par exemple ?

sur le fichier que tu as proposé en premier post

Bonjour à tous

Pour faire simple, j'ai ramené les 2 fichiers en un seul.

Les données se trouvent sur 2 feuilles (ETAT, FICHE).

Les données de la feuille "ETAT" devront être copiées et collées sur les données de la feuille "FICHE" en respectant les conditions de collage ci-dessous:

  • la base de collage commence par la colonne "CLIENT" (colonne C de chaque feuille).
  • le collage ne se faire que si le client correspondant a été trouvé.
  • les données du fichier de départ (C, D, E, F, G, H, I) doivent être collées respectivement (et sur la ligne correspondante) en C, D, E, H, J, L et N.
Merci pour vos contributions

4fiche-base.xlsx (65.43 Ko)

re

Ça fonctionne aussi avec ton nouveau fichier !

Attention ! Tes N° de client ne sont pas dans le meme format dans les 2 onglets

13fiche-base-v2.xlsx (82.69 Ko)

Salut DjiDji59430

Merci pour ta solution que je valide.

Juste une dernière question:

Y'a t'il une formule pouvant m'aider à connaitre le nombre de clients commun des deux feuilles?

Bonjour,

une formule surement mais une macro aussi :

Sub CommunsEntreEtatetFiche()

' articles en commun dans les 2 listes

' affichage des communs dans la colonne A

Dim Ws1, Ws2 As Worksheet

Set Ws1 = Sheets("etat"): Set Ws2 = Sheets("fiche")

a = Ws1.Range("c2:c" & [c65000].End(xlUp).Row)

Set Mondico1 = CreateObject("Scripting.Dictionary")

For Each c In a

If Not Mondico1.Exists(c) Then Mondico1.Add c, c

Next c

b = Ws2.Range("c2:c" & [c65000].End(xlUp).Row)

Set mondico2 = CreateObject("Scripting.Dictionary")

For Each c In b

If Mondico1.Exists(c) Then If Not mondico2.Exists(c) Then mondico2.Add c, c

Next c

Ws1.[a2].Resize(mondico2.Count, 1) = Application.Transpose(mondico2.Items)

Ws1.[A1].Value = "Communs"

End Sub

re

et pour la formule

=NBVAL(NOM_CLIENT)-NB.SI(NOM_CLIENT;"")

Salut DjiDji59430 et le forum

Merci pour votre solution.

Je l'ai testée mais pas de satisfaction.

Voici ma formule qui s'inspire de la votre :

NBVAL(CLIENT_IGOR)-NB.SI(Tableau1[CLIENT_2];"")

ClIENT_IGOR est le nom donné à la plage CENTRALISATION!C2:C30676et Tableau1[CLIENT_2] est la 2ème plage.

Le résultat donne uniquement le nombre des éléments de la plage CENTRALISATION!C2:C30476 soit 30674.

Merci de revoir

Rechercher des sujets similaires à "copier coller donnees fichier"