Copie de données d'un fichier à un autre
Bonjour à tous,
J'aurais besoin qu'on m'aide afin de concevoir une macro qui permettrait de copier des données (valeurs) provenant de plusieurs feuilles donc le nom et le nombre est variable (fichier source) dans un fichier cible (récapitulatif). Le nom du fichier source varie. Le nombre d'item (ID) dans chaque feuille du fichier source varie. Les données copiées doivent être associées au nom des feuilles (fichier source - feuille "CVCA" -> fichier cible - feuille "CVCA", fichier source - feuille "PLOMBERIE" -> fichier cible - feuille " PLOMBERIE ", etc). Les fichiers source et cible seront ouvert dans une fenêtre active.
Exemple d'une copie fichier source - feuille "CVCA" -> fichier cible - feuille "CVCA" (colonne E) - ID : 001
Fichier source (feuille "CVCA") : E7 dans colonne A (fichier cible)
Fichier source (feuille "CVCA") : E12 dans colonne B (fichier cible)
Fichier source (feuille "CVCA") : E13 dans colonne C (fichier cible)
Fichier source (feuille "CVCA") : E16 dans colonne D (fichier cible)
Fichier source (feuille "CVCA") : E17 dans colonne E (fichier cible)
Fichier source (feuille "CVCA") : E20 dans colonne F (fichier cible)
Fichier source (feuille "CVCA") : E42 dans colonne G (fichier cible)
Fichier source (feuille "CVCA") : C3 dans colonne H (fichier cible)
Fichier source (feuille "CVCA") : E28 dans colonne I (fichier cible)
Fichier source (feuille "CVCA") : D48 dans colonne J (fichier cible)
Fichier source (feuille "CVCA") : D49 dans colonne K (fichier cible)
Fichier source (feuille "CVCA") : D50 dans colonne L (fichier cible)
Fichier source (feuille "CVCA") : D51 dans colonne M (fichier cible)
Fichier source (feuille "CVCA") : D52 dans colonne N (fichier cible)
Fichier source (feuille "CVCA") : D53 dans colonne O (fichier cible)
Fichier source (feuille "CVCA") : D54 dans colonne P (fichier cible)
Fichier source (feuille "CVCA") : D55 dans colonne Q (fichier cible)
Fichier source (feuille "CVCA") : D56 dans colonne R (fichier cible)
Fichier source (feuille "CVCA") : D57 dans colonne S (fichier cible)
Fichier source (feuille "CVCA") : D58 dans colonne T (fichier cible)
Fichier source (feuille "CVCA") : D64 dans colonne V (fichier cible)
Fichier source (feuille "CVCA") : D65 dans colonne W (fichier cible)
Fichier source (feuille "CVCA") : D66 dans colonne X (fichier cible)
Fichier source (feuille "CVCA") : D67 dans colonne Y (fichier cible)
Fichier source (feuille "CVCA") : D68 dans colonne Z (fichier cible)
Fichier source (feuille "CVCA") : D69 dans colonne AA (fichier cible)
Fichier source (feuille "CVCA") : D70 dans colonne AB (fichier cible)
Fichier source (feuille "CVCA") : D71 dans colonne AC (fichier cible)
Fichier source (feuille "CVCA") : D72 dans colonne AD (fichier cible)
Fichier source (feuille "CVCA") : D73 dans colonne AE (fichier cible)
Fichier source (feuille "CVCA") : D74 dans colonne AF (fichier cible)
Nom du fichier source : dans colonne AG (fichier cible)
Fichier source (feuille "CVCA") : E79 dans colonne AH (fichier cible)
Fichier source (feuille "CVCA") : E80 dans colonne AI (fichier cible)
Fichier source (feuille "CVCA") : E81 dans colonne AJ (fichier cible)
Fichier source (feuille "CVCA") : E82 dans colonne AK (fichier cible)
Fichier source (feuille "CVCA") : E83 dans colonne AL (fichier cible)
Fichier source (feuille "CVCA") : E84 dans colonne AM (fichier cible)
Fichier source (feuille "CVCA") : E86 dans colonne AN (fichier cible)
Fichier source (feuille "CVCA") : E87 dans colonne AO (fichier cible)
Fichier source (feuille "CVCA") : E89 dans colonne AP (fichier cible)
Une fois la copie terminée, on passe à la copie de la colonne G (feuille source) et ainsi de suite jusqu'à ce qu'il n'y a plus de données (nombre de colonne variable) dans cette feuille. Par la suite, on change de feuille ("PLOMBERIE") et toutes les données doivent être copiées dans la feuille "PLOMBERIE" du fichier cible ainsi de suite comme dans l'exemple : "Fichier cible.xlsm" ci-joint.
Quand un nouveau fichier source sera utilisé, le programme devra ajouter les nouvelles données à la suite de celles déjà existantes. Dans l'exemple du "Fichier cible" ci-joint, les données de "CVCA" seront ajoutées à la ligne 9, les données de "PLOMBERIE" seront ajoutées à la ligne 6 et ainsi de suite.
Je vous remercie à l'avance pour votre précieuse collaboration,
Salutations,
Renaud D.
Bonjour,
proposition de solution via une macro 'copiesource qui se trouve dans le classeur cible
Bonjour h2so4,
Merci beaucoup d'avoir répondu à ma demande. J'ai testé votre macro et elle fonctionne très bien. L'idée d'avoir intégré la macro dans le fichier cible et d'ouvrir le fichier source par une sélection est excellente.
Cependant, votre macro ne copie que la colonne "E" du fichier source dans le fichier cible. La macro doit vérifier s'il y a des données dans les colonnes "E", "G", "I", "K", "M", "O", "Q",... et copier celles-ci dans le fichier cible pour chacune des feuilles du fichier source. Finalement, la macro doit inscrire le nom du fichier source dans la colonne "AG" du fichier cible comme dans l'exemple joint précédemment. La base de votre programme très bonne.
Au plaisir de vous relire,
Salutations,
Renaud D.
Bonjour,
j'avais donc mal compris la demande.
voici une nouvelle version.
Bonjour h2so4,
Un seul mot : merveilleux.
Votre macro fonctionne merveilleusement bien. C'est exactement ce que je désire.
Merci infiniment pour votre aide grandement appréciée.
Sincères salutations,
Renaud D.