XL 2021 Besoin d'aide pour copier/coller données de plusieurs classeurs

Pac41240

XLDnaute Nouveau
Bonjour à tous.
J'ai fait installé depuis un mois des panneaux photovoltaïques. L'application intégrée à l'onduleur me permet d'exporter une fichier avec les statistiques de production et de consommation.
Je me suis fait un fichier excel assez complet où je compare ces données à mon relevé d'index EDF, à des fichiers sur les conditions météo, à un tableau issu d'un simulateur de production. Ce fichier me permet de tout comparer et de me fournir un tableau de bord pour analyser les performances du système et mon auto-consommation.

Tout fonctionne et désormais, je souhaiterai automatiser davantage. Pour le moment, je dois télécharger (une fois/jour les fichiers Météo et EDF ou plusieurs plusieurs fois /jours pour le fichier issu de l'onduleur), mettre en forme le fichier et copier/coller les données actualisées.
Je pense qu'une macro pourrait m'aider.

Il y a plusieurs contraintes:
-le fichier téléchargé ne doit pas écraser l'ancien mais juste comparer les "nouveautés" et coller ces nouveautés à la suite dans le fichier de synthèse.
-le fichier téléchargé n'a pas toujours le même nom mais le "radical" est toujours le même
-le fichier téléchargé est en format csv et il faut que je convertisse les "." en "," pour qu'excel puisse les sommer

Je vous joins les deux fichiers :
-le fichier téléchargé M BOULIN-Statistiques quotidiennes-20240909 qui contient les données issues de la centrale photovoltaïque :
1 ligne / jour mais il m'arrive de le télécharger plusieurs fois dans la journée pour voir l'évolution. De plus, il faudrait qu'avant d'extraire le nécessaire, il y ait une sorte de comparaison avec les données déjà enregistrées dans mon fichier de synthèse pour ne pas écraser les données déjà sauvegardées. On peut aussi imaginer que quand je serai en vacances, il y ait plusieurs lignes à récupérer. Je pensais donc à comparer les jours entre les deux feuilles excel et aussi comparer la somme de toutes les données par ligne pour savoir si de nouvelles données avaient été enregistrées.
- le classeur 2 qui correspond à un onglet de mon fichier excel final. Les données, à partir de la colonne J correspondent à des formules qui me servent pour le reste. Idéalement, j'aimerai bien que quand une nouvelle ligne est remplie, ces formules se recopient automatiquement plutôt que de devoir les cliquer/glisser depuis la ligne du dessus. Je pourrais les recopier jusqu'en bas du classeur et mettre une condition pour qu'elles ne se calculent que si la 1ère case de la ligne est remplie, mais j'ai peur que cela alourdisse trop le fichier.

Les étapes de la macro seraient :
  • ouvrir le fichier "M BOULIN-Statistiques quotidiennes-xxxxxxxx" situé dans "Mes téléchargements"
  • convertir les . en ,
  • vérifier si les dates (colonne B "Heure de mise à jour") sont les mêmes que celles du fichier classeur 2 colonne A. S'il y a de nouvelles lignes, les coller à la suite de celles déjà présentes dans mon classeur 2. Vérifier aussi que les valeurs ligne par lignes du fichier "M BOULIN-Statistiques quotidiennes-xxxxxxxx" situé dans "Mes téléchargements" sont les mêmes que celle déjà présentes dans mon Classeur2
  • une fois que cette macro a vu ce qui avait changé depuis la dernière opération de copier/coller, copier les valeurs des colonnes D à J dans mon classeur 2 dans les colonnes A à H ( Pour plus de facilité, je constate que le fichier M BOULIN-Statistiques quotidiennes-xxxxxxxx est, par défaut, réinitialisé à chaque 1er du mois. Il serait peut-être plus facile de demander à la macro de sélectionner toutes les valeurs du fichier M BOULIN-Statistiques quotidiennes-xxxxxxxx et de les copier au bon endroit dans mon classeur 2 (dans le cas présent, en ligne 101 qui correspond à la date du 01/09))
  • recopie des formules des colonnes J à AB dans le classeur2 dès qu'une nouvelle ligne est créée
  • effacer le fichier "M BOULIN-Statistiques quotidiennes-xxxxxxxx" situé dans "Mes téléchargements" serait aussi un gros plus.

Voilà, j'ai essayé d'être le plus complet dans mon descriptif et je reste à la disposition de la bonne âme qui souhaitera m'aider.
Par avance, je vous remercie.
 

Pièces jointes

  • M BOULIN-Statistiques quotidiennes-20240909(1).xlsx
    4.3 KB · Affichages: 7
  • Classeur2.xlsx
    613 KB · Affichages: 4

chris

XLDnaute Barbatruc
Bonjour

PowerQuery et PowerPivot sont identiquement intégrés à Excel et à PowerBI.

PowerBI contient des options de présentation plus avancées. Pas sûr que cela te soit nécessaire.

PowerBI en local est assez limité par rapport à la version entreprise
 

Pac41240

XLDnaute Nouveau
Mais si tu en a 1 ou plus par jour, il faudra prévoir de figer par exemple mensuellement la partie traitée pour ne plus la récupérer par requête.
Merci chris, mais comment "figer" ??? C'est ce point que ne me paraît pas très clair. A chaque réactualisation; le traitement est assez long... Comment lui dire ou faire pour qu'il se limite à x lignes ???? Par exemple, j'ai 3 fichiers csv (dans un dossier) qui contiennent des données météo (depuis 1951). Chaque jour, je télécharge le dernier csv (2023/2024) et refais une actualisation, alors PQ refait automatiquement, les tris, suppressions, formatages, etc, sur ces 3 tables et me charge l’intégralité dans un onglet excel "météo".
Idéalement, j'aimerais qu'il parte de cet onglet météo et qu'il ajoute la ou les lignes supplémentaires (en respectant les mêmes critères que la requête qui a déjà créé cette table injectée sous l'onglet "météo")....
 

chris

XLDnaute Barbatruc
Bonjour

A toi de décider le moment où tu figes. Cela dépend aussi de l'exploitation que tu compte faire des données.
Si tu analyses par TCD inutile de charger dans un onglet.

Déjà je pense qu'il n'est peut-être pas utile de traiter des données datant de Mathusalem et que tu peux filtrer les dates très tôt dans la ou les requêtes.

Pour figer tu peux dupliquer ton tableau résultat allant jusqu'à une date donnée et veiller à ce que le dupliqua soit délié de toute requête.
Ensuite tu modifies ta requête pour filtrer dès les premières étapes la date de façon à ne traiter que ce qui est postérieure à ce qu tu as figé.
Ensuite si besoin, tu fais une requête union (ajout de tables entre ta table figée, donc à charger dans PQ) et ta nouvelle table.
L'union ne recalcule pas l'ancienne table.
 

Pac41240

XLDnaute Nouveau
Bonjour

A toi de décider le moment où tu figes. Cela dépend aussi de l'exploitation que tu compte faire des données.
Si tu analyses par TCD inutile de charger dans un onglet.

Déjà je pense qu'il n'est peut-être pas utile de traiter des données datant de Mathusalem et que tu peux filtrer les dates très tôt dans la ou les requêtes.

Pour figer tu peux dupliquer ton tableau résultat allant jusqu'à une date donnée et veiller à ce que le dupliqua soit délié de toute requête.
Ensuite tu modifies ta requête pour filtrer dès les premières étapes la date de façon à ne traiter que ce qui est postérieure à ce qu tu as figé.
Ensuite si besoin, tu fais une requête union (ajout de tables entre ta table figée, donc à charger dans PQ) et ta nouvelle table.
L'union ne recalcule pas l'ancienne table.
Bonjour,
Merci de ta réponse, je vois l'idée, je vais essayer de procéder de la sorte !
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 996
Messages
2 115 164
Membres
112 340
dernier inscrit
smnk.4k