Améliorer performance requête

Historisation

Dupliquer la requête Data et renommer la copie en Histo

Modifier la requête de façon à conserver la colonne Name et supprimer la dernière étape de regroupement

Charger Histo dans un tableau puis supprimer la requête Histo

Quand tu marques modifier la requête on est d'accord que tu parles uniquement de Histo ? data reste d'origine pour l'instant ?

RE

Effectivement il faut conserver le colonne Name avant la copie

On la retrouve dans les copies Data_Filtre et Data_New

j'ai suivi toutes les étapes mais je dois faire quelque chose de mal. Je vois à présent mes deux tableaux celui de droite est vide. je suppose que c'est normal car je n'ai pas de nouveaux CSV. Enfin je pense. Quand j'ouvre mon fichier j'ai un message d'erreur :

Private Sub Workbook_Open()
Dim Plage As Range
Application.ScreenUpdating = False

2hm-test.zip (578.76 Ko)

With Range("Data_New").ListObject
If .DataBodyRange Is Nothing Or .ListColumns(1).DataBodyRange.Cells(1, 1) = "" Then Exit Sub
End With

Set Plage = Range("Data_New")
With Range("Histo").ListObject
X = .Range.Rows.Count
For I = 1 To Plage.Rows.Count
.ListRows.Add
Next I
.DataBodyRange.Range(Cells(X, 1), Cells(X + I - 2, 4)) = Plage.Value
End With
ThisWorkbook.RefreshAll
End Sub

Bonjour

Pas trop le temps de détailler mais remplacer par

        If .DataBodyRange Is Nothing Then Exit Sub
        If .ListColumns(1).DataBodyRange.Cells(1, 1) = "" Then Exit Sub

Si tu as 2 Histo, tu dois avoir deux Data_New et le code devra être adapté d'où mon conseil de ne pas commencer avec plusieurs dossier car la ligne

ThisWorkbook.RefreshAll

Risque de tout exploser si l'ensemble n'est pas cohérent et géré

Très bien j'ai supprimé histo comme ça j'en ai qu'un je verrai une fois fonctionnel pour les mettre sur les autres. Je suis perdu je pense que je me suis à bien au dessus de mon niveau. Car la j'ai bien mes nouveaux fichiers qui sont apparu dans histo_new ensuite il remonte dans histo après avoir relancé le fichier. Puis ils ne remontent pas dans le TCD et donc dans le graphique. Je suis désolé je ne veux pas te faire perdre du temps. j'essai vraiment d'apprendre et de comprendre.

Bon pour faire le point. J'ouvre mon fichier je n'ai pas d'erreur VBA. En revanche, les données ne sont pas remontées dans hm1 je les voit dans histo le transfert s'est fait mais rien dans histo.

De plus en plus je me dis que c'est dingue j'ai un tableau top établi grace à un tcd, je souhaite simplement ajouter un csv (ou la date de création = j-1) et on doit passer par toute ces étapes de filtres ? pourquoi sur power query ils ne prévoient pas l'actualisation sans reprendre toutes les données mais juste un fichier. Le buffer permet de faire cela temporairement, le temps de la requête si j'ai bien compris... Enfin je suis désespéré car je comprends rien malgré que je passe des jours à essayer de comprendre

RE

Bon pour faire le point. J'ouvre mon fichier je n'ai pas d'erreur VBA. En revanche, les données ne sont pas remontées dans hm1 je les voit dans histo le transfert s'est fait mais rien dans histo.

Quand l'historisation a été faite, qu'il reste Data, Data_New et Histo (requête qui utilise le tableau de l'onglet et non les données des dossiers) : le code copie les lignes de Data_New datant de la veille à la fin du tableau Histo, puis l’actualisation qui suit charge les données du jour dans Data_New et la requête Data, combinant Histo et Data_New, sert au TCD. Si tu ne vois rien dans Data_New c'est qu'il n'y a pas de nouveaux fichiers.

C'est sûr que si tu ouvre plusieurs fois dans la même journée ton classeur, à la seconde ouverture, il n'y a rien de neuf par rapport )à la 1ère et donc Data_New est vide

De plus en plus je me dis que c'est dingue j'ai un tableau top établi grâce à un tcd, je souhaite simplement ajouter un csv (ou la date de création = j-1)

On n'utilise pas les dates mais les noms des fichiers csv

oui je comprends que data new est vide mais pourquoi data_histo ne s'inclut pas dans mon tcd. Ce dernier ne se met pas à jours. je vais encore essayer. Merci en tous cas sa m'aide beaucoup et j'apprends en même temps.

RE

Ce qui se met dans le TCD c'est Data qui combine Histo et Data_New

Essaye de

  • vérifier la source du TCD
  • réactualiser le TCD
  • défiltrer le cas échéant

merci beaucoup j'ai enfin réussi en suivant correctement tes étapes. mille fois merci

Rechercher des sujets similaires à "ameliorer performance requete"