Additionner les infos de plusieurs fichiers dans un

Bonjour à tous,

Il y a quelques temps Yvouille m'avait fait une super macro pour cumuler les infos de plusieurs fichiers sur un seul (encore merci )

https://forum.excel-pratique.com/excel/copier-plusieurs-classeurs-dans-une-feuille-t42063.html

Aujourd'hui, les fichiers ont plus d'infos et surtout sont au format .csv.

D'où ma question, est-ce quelqu'un pourrait m'aider à faire presque la même macro pour des fichiers au format .csv ??

En pj, 2 fichiers (il y en a 1/jour au total)

Ce que je souhaiterais c'est d'avoir sur un fichier récapitulatif c'est : le l'addition des Quantité (colonne N) par code Tarif (colonne K) et par Date de conso (colonne I)

Puis le total mensuel des Quantité par Code Tarif

Exemple :

-Pour le 31/01, 01HO=10 02VPO=13 etc...

et Pour le mois, 01 HO=310 02VPO=340 etc...

Par avance, merci de votre aide

3131-01-16.csv (10.44 Ko)
3230-01-16.csv (10.57 Ko)

Salut JP,

J’ai regardé un peu pour ton problème. L’exigence d’avoir un total par jour et par Code tarif rend le tout quand même assez différent.

Ces Code tarif, tu en as un nombre bien précis et il n’augmentera pas ou ce sont de nouveaux Codes tarif à chaque fois ? Si c’est un nombre bien précis, peux-tu m’en fournir la liste ?

C’est quand même passablement de boulot, alors il faudrait me laisser une semaine au minimum pour te fournir une première solution.

Amicalement.

Bonjour,

Une proposition à tester.

Ouvrir xlp-Consolider csv.xlsm.

ALT F8 puis exécuter la procédure ImportData.

Cdlt.

43demo.zip (26.88 Ko)

Bonjour à tous les 2,

Jean-Eric, je n'arrive pas exécuter la macro, quand je fais F8 ça me met "étendre la sélection" et quand je fais exécuter le macro j'ai le message d'erreur qu'il faut au moins 2 lignes de données sources.

Yvouille, comme c'est trop de boulot, on peut rester sur la même chose que la dernière fois, c'est à dire juste faire un tri par "code tarif" puis par "date" et ensuite faire le récap des quantités en fonction des codes tarif. Je t'ai mis le détails en pj (en noir le résultat de la précédente macro et en bleu les correspondances avec les nouveaux fichiers)

Pour les codes tarif, ils sont fixes (j'espère qu'il n'y en aura pas de nouveaux dans quelques temps ), je t'ai mis la liste dans la pj.

Merci à vous 2 pour vos réponses rapides.

Bonjour,

Une fois le fichier décompressé (en faisant Extraire vers DEMO\) tu ouvres le fichier xlsm.

Tu fais ensuite ALT F8 et tu exécutes la procédure ImportData.

Cdlt.

Désolé, je fais ALT F8 (j'ai écris trop vite) puis exécuter et ça me donne ce message d'erreur

xus3

Quand on regarde le débogage, voici la ligne

upg5

Bonjour,

Ce message apparaît car tu n'as pas de fichiers csv dans le répertoire "Fichiers à traiter".

snip 20160224041944

J'ai revu la procédure en ce sens.

Pour être plus clair, la procédure va rechercher les fichiers csv dans le répertoire "Fichiers à traiter", importer les fichiers dans le classeur xlsm, puis déplacer ces fichiers dans le répertoire "Fichiers archivés". Il y a ensuite la création d'un TCD pour synthétiser les données en fonction de ta demande.

Cdlt.

34demo.zip (27.49 Ko)

Bonjour Jean-Eric,

Lorsque j'exécute la procédure, j'ai le message qu'il n'y a pas de fichier csv dans les fichiers à traiter. Pourtant il y a bien les 2 fichiers au format csv.

Voici la manip que je fais, j'ouvre ton dossier "DEMO", je vérifie qu'il y a bien des fichiers csv dans le dossier "Fichiers à traiter" puis j'ouvre le fichier xlp-Consolider csv v1.xlsm, je fais ALT F8 puis exécuter ImportData. Et j'ai ce message qu'il n'y a pas de fichier à traiter.

qu'est-ce qui ne va pas dans ma manip ?

Merci de ton aide.

bonne journée.

Bonjour,

Peux-tu me dire si tu travailles sur PC ou MAC, confirmer ta version Excel?

Copie cette procédure dans un module standard et exécute la.

Quel est le résultat?

Public Sub SPATH()
    MsgBox ThisWorkbook.Path & Application.PathSeparator
End Sub

Je suis sur PC et c'est la version 2010.

Lorsque j'exécute la procédure, j'ai une box qui s'ouvre avec " \ "

Re,

La question est : Ou as tu décompressé le fichier joint?

J'ai compris mon erreur en voyant ta question, je décompressais depuis windows explorer et j'exécutais....

Maintenant ta procédure fonctionne, merci.

En revanche je m'aperçois que je me suis mal exprimé sur ma demande initiale car tu y réponds tout à fait mais c'est pas le résultat que j'attendais.

Je vais reformuler ma demande en étant le plus précis possible (et espérant utiliser les bons termes).

Je souhaiterais avoir un fichier récapitulatif de tous les fichiers csv.

Dans ce fichier récapitulatif avoir les colonnes I, K, L M, N

Avec un 1er tri par "code tarif" colonne K

Puis un 2è tri par "date de consommation" colonne I

Et ensuite avoir à côté l'addition mensuel des "quantité" par "code tarif"

Je mets en pj,

  • un fichier Base.xlsm, avec la macro qu'avait réalisé Yvouille qui donne le résultat que j'attends mais les colonnes sont différentes et maintenant ce sont des fichiers csv
  • un fichier 2013 - Récapitulatif annuel.xlsm, en noir, c'est le résultat de l'exécution de la macro d'Yvouille et en bleu, j'ai mis les correspondance des colonnes sur les fichiers csv.

Mon idée "simpliste" de départ était de reprendre la macro d'Yvouille, de changer les colonnes et qu'elle fonctionne pour des fichiers csv.

j'espère que cette demande est plus précise.

Merci de ton aide

9base.xlsm (46.57 Ko)

Re,

J'ai modifié le fichier afin de coller peu ou prou à ta demande (de mise en forme).

On récapitule.

Le classeur comporte 3 feuilles majeures.

1 - Données mensuelles

2 - TCD mensuel

3 - TCD annuel

(*) maintenant le tri, pourquoi faire?

(*) ne confonds-tu pas code Tarif et Elément de repas?

Si cette évolution ne correspond vraiment pas à tes attentes, tu patientes jusqu'au retour de Yvouille.

Cdlt.

14demo.zip (33.91 Ko)

Re,

Merci beaucoup pour cette nouvelle version. C'est bien ce que j'attendais.

-Pourquoi le tri, cela permet de vérifier rapidement par code tarif et par date si un plat est dans la bonne catégorie.

-C'est bien "code tarif" et non "élément de repas" car pour un même "élément" (plat complet) on a plusieurs "code tarif" associés (02PC, 02PCS et 05PCS)

Du coup comment faire pour rajouter "code tarif" dans la procédure pour l'avoir dans TCD mensuel et TCD annuel ?

En tout cas merci beaucoup pour le temps que tu m'as accordé et le travail effectué

EDIT: J'ai remplacé "Elément de repas" par "Code Tarif" dans la procédure (1x pour TCD mensuel et 1x pour TCS annuel) et cela fonctionne.

Ma dernière question, si demain il y a un code tarif supplémentaire ou s'il change de nom, il me suffit juste de rajouter ou de changer les noms des codes tarif dans l'onglet "Liste" et cela fonctionnera ou il faudra revoir la procédure ?

Encore merci pour ce super boulot

Re,

Voir modifications.

A te relire pour un complément d'informations.

(*) peux-tu envoyer la totalité de tes csv pour janvier et février que je teste sur un grand nombre de fichiers?

(*) seras-tu l'unique utilisateur de ce fichier?

Cdlt.

14demo.zip (33.88 Ko)

Re,

Je n'avais pas vu ta dernière question.

Si il y a un nouveau Code Tarif, il sera dans les données mensuelles, donc dans les TCDs

La procédure ne prend pas en compte de changement de nom. Les données mensuelles sont consolidées au jour le jour!?

Il faudra savoir qui remplace qui et l'intégrer dans la procédure. Donne un une précision à ce sujet, car l'historique sera modifié.

Cdlt.

Bonjour Jean-Eric,

Merci pour les modifications.

Je peux t'envoyer tous les csv mais je l'ai déjà essayé avec tous les fichiers de janvier hier et ça fonctionne très bien, à toi de me dire.

Non je serai pas l'unique utilisateur de ce fichier car il y a plusieurs agences d'où ma prochaine question.

Est-ce possible dans le dossier "fichiers archivés" que les fichiers se classent par mois et par nom (celui de la colonne B) ? Dans notre exemple "Levallois Perret janvier 2016"

Est-ce possible également que dans ce dossier "Levallois Perret janvier 2016" on garde une copie de TCD mensuel et TCD annuel ?

Autre demande, dans TCD mensuelle le filtre de date de consommation se fait par mois, est-ce possible de le garder au format jour ?

Concrètement, la procédure sera utilisée à chaque fin de mois pour faire le total du mois écoulé sur chaque agence.

Bonjour,

1 - Envoie quelques csv supplémentaires avec leurs noms réels

2 - Je ne comprends la question. Soit plus précis !

3 - Les TCDs sont codés en dur et on peut donc modifier sans aucun problème leurs mises en forme (les données source étant les mêmes).

Que penses-tu d'une page Accueil avec des CommandButtons (ou Boutons) qui créeraient des TCDs particuliers ?

C'est à dire par jour, mois, etc...

Tu pourrais en profiter pour réfléchir à tout ce que tu peux avoir besoin en termes de résultats (moyennes, différence par mois, etc...).

A te relire.

Cdlt.

nota : je peux aussi intégrer le nom des fichiers csv dans la base de données...

Re,

1 Ci joint les fichiers d'une autre agence avec le vrai nom, c'est normal que ça commence le 4/01 (certaines agences renomment les fichiers)

2 En fait, la procédure sera dans les "documents partagés" de plusieurs agences.

Les agences ont chacune un dossier où elles viennent mettre leurs fichiers csv jour par jour.

Du coup à la fin du mois, chaque agence utilisera la procédure, elle viendra mettre ses fichiers csv dans le dossier "fichiers à traiter", exécutera la procédure puis contrôlera les plats avec le TCD mensuel et enregistrera les totaux du TCD annuel.

Du coup, en écrivant le déroulé je comprends que la question que tu n'avais pas compris n'a plus de sens, je pense que le dossier "fichiers archivés" n'est pas utile, en fait une fois qu'ils sont copiés dans l'onglet "données mensuelles" ils peuvent être supprimés.

Ce qui pourrait être intéressant, c'est d'avoir une page d'accueil avec la commande et lorsque l'on exécute la procédure les données mensuelles et les TCDs s’enregistrent dans un fichier (nommé Récapitulatif, nom de l'agence et l’année) avec les onglets comme on les a actuellement.

Du coup au fil des mois, l’onglet "données mensuelles" se remplirait et l’on aurait les TCDs à côté qui mettrait à jour les données.

Donc cela donnerait, dans ton dossier DEMO, on retrouverait un dossier "fichiers à traiter", plusieurs fichiers "Récapitulatif, nom agence et année" et un fichier "commande procédure"

Est-ce assez précis ou souhaites-tu d’autres informations ?

3 Comme c'est possible, je souhaiterais avoir un format par jour dans le TCD mensuel, merci

Ensuite je n'ai pas un besoin spécifique en moyenne, différence mensuelle etc... et si exceptionnellement j'avais un besoin, je me servirai des TCDs.

Encore un grand merci pour le temps que tu m'accordes.

bonne journée.

Bonjour,

1 - j'ai revu la procédure car en vérifiant les quantités importées et les csv, il pouvait avoir des soucis.

2 - Le TCD mensuel intègre les jours.

3 - J'ai crée une page accueil (ne fais pas attention au bouton RAZ, il est avant tout pour les tests.

4 - Si je comprends bien ta demande, tu souhaites une fois l'importation effectuée pouvoir disposer d'une synthèse par client dans des fichiers distincts. Redis moi, mais surtout envoie des fichiers csv avec plusieurs clients (et plusieurs mois si possible).

Cdlt.

14demo.zip (111.13 Ko)

Bonjour Jean-Eric,

1 et 2, Merci.

3- C'est sympa cette page d'accueil , il y a un bouton "création des listes de champs" "à venir", il aura quel intérêt ?

4-Tu as bien compris ma demande d'avoir un fichier synthèse par agence. Je te joins les fichiers des 4 agences mais que pour janvier car il n'y a pas d'autre historique et que je n'ai pas encore février

Comme tu vas retravailler dessus, est-ce que je peux te demander de mettre "code tarif" en 1er et "date de conso" en 2è, dans les étiquettes de lignes du TCD mensuel ?

Merci pour tout.

1231-01-16.zip (37.63 Ko)
Rechercher des sujets similaires à "additionner infos fichiers"