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: 6
  • Classeur2.xlsx
    613 KB · Affichages: 3

vgendron

XLDnaute Barbatruc
je découvre également Power Query depuis peu de temps..
Quelques pistes
1) dans ton classeur de suivi: transformer le tableau en Table Structurée
==> plus besoin de pré-remplir 500 lignes vides avec des formules
2) clic droit sur cette table / obtenir données à partir de.....
==> ca ouvre Power Query

3) Dans Power Query, créer nouvelle requette à partri d'un fichier csv
sélectionner le fichier
et dans transformer (si ce n'est pas déjà fait automatiquement par PQ) modifier le type, ou remplacer virgule...

utiliser la première ligne comme ligne d'entete

4) requete ajouter==> c'est la que ca se passe: les nouvelles lignes sont ajoutées...

peux tu poster directement le fichier cvs? pour que je regarde de mon coté
 

Pac41240

XLDnaute Nouveau
je découvre également Power Query depuis peu de temps..
Quelques pistes
1) dans ton classeur de suivi: transformer le tableau en Table Structurée
==> plus besoin de pré-remplir 500 lignes vides avec des formules
2) clic droit sur cette table / obtenir données à partir de.....
==> ca ouvre Power Query

3) Dans Power Query, créer nouvelle requette à partri d'un fichier csv
sélectionner le fichier
et dans transformer (si ce n'est pas déjà fait automatiquement par PQ) modifier le type, ou remplacer virgule...

utiliser la première ligne comme ligne d'entete

4) requete ajouter==> c'est la que ca se passe: les nouvelles lignes sont ajoutées...

peux tu poster directement le fichier cvs? pour que je regarde de mon coté
 

vgendron

XLDnaute Barbatruc
un début de réponse
1ere requete pour charger le tableau actuel
2nd requete pour charger le nouveau fichier transmis par la centrale
la requette charge tous les fichiers dans un répertoire "Suivi Photo", garde le plus récent
supprime des colonnes inutiles
remplace le point par une virgule, et transforme les données en décimale

normalement, on peut "AJOUTER" une requete (la seconde) à une autre (la 1ere)
MAIS ce qu'il manque c'est de mettre à jour directement le premier tableau plutot qu'en créer un nouveau dans une nouvelle feuille
 

Pièces jointes

  • Pac41240.xlsx
    108.4 KB · Affichages: 3

chris

XLDnaute Barbatruc
Bonjour à tous

Les lignes ajoutées n'ont plus des dates mais des textes

Dans PowerQuery on ne remplace pas les points par des virgules, on type directement en utilisant les paramètres régionaux (comme on le faisait déjà avant PQ avec les liaisons avec des txt ou csv)
1725898137776.png

On peut stocker tout les fichiers dans un dossier et traiter le dossier.

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.
 
Dernière édition:

Pac41240

XLDnaute Nouveau
Bonjour à tous

Les lignes ajoutées n'ont plus des dates mais des textes

Dans PowerQuery on ne remplace pas les points par des virgules, on type directement en utilisant les paramètres régionaux (comme on le faisait déjà avant PQ avec les liaisons avec des txt ou csv)
Regarde la pièce jointe 1203217
On peut stocker tout les fichiers dans un dossier et traiter le dossier.

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 du conseil, je vais regarder ce soir....si j'ai le temps.
 

vgendron

XLDnaute Barbatruc
bon.. en attendant de creuser la solution PQ, j'ai fait une version VBA
mais.. la dernière instruction (removeduplicates) me pose souci car elle fait bugger la macro.. alors que cette ligne vient de l'enregistreur de macro...??..:(
 

Pièces jointes

  • Pac41240.xlsm
    609.1 KB · Affichages: 2

Pac41240

XLDnaute Nouveau
J'ai pas pu m'empêcher de jeter un oeil ;)
Avec PQ, en effet, j'arrive mettre en forme le fichier en partant de plusieurs fichiers téléchargés. C'est en effet très puissant et fait gagner du temps.
Mon seul problème est que je n'arrive pas pour le moment à insérer automatiquement le fichier issu de la requête dans mon onglet Classeur 2
Bonjour à tous

Les lignes ajoutées n'ont plus des dates mais des textes

Dans PowerQuery on ne remplace pas les points par des virgules, on type directement en utilisant les paramètres régionaux (comme on le faisait déjà avant PQ avec les liaisons avec des txt ou csv)
Regarde la pièce jointe 1203217
On peut stocker tout les fichiers dans un dossier et traiter le dossier.

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 de l'info
J'espère pouvoir y consacrer un peu de temps ce soir
 

vgendron

XLDnaute Barbatruc
J'ai pas pu m'empêcher de jeter un oeil ;)
Avec PQ, en effet, j'arrive mettre en forme le fichier en partant de plusieurs fichiers téléchargés. C'est en effet très puissant et fait gagner du temps.
Mon seul problème est que je n'arrive pas pour le moment à insérer automatiquement le fichier issu de la requête dans mon onglet Classeur 2

Merci de l'info
J'espère pouvoir y consacrer un peu de temps ce soir
C'est le souci que j'avais aussi.. j'ai créé un post pour ce point
 

Discussions similaires

Statistiques des forums

Discussions
314 120
Messages
2 106 094
Membres
109 488
dernier inscrit
Abdel44