Actualisation requete power query

Bonjour au forum,

J'aimerai actualisé une requête Power Query d'un fichier dont la source est sur un autre fichier, mais celui ci étant ouvert au moment de cette actualisation,

j'ai mis ce petit code VBA sur le fichier source pour qu'il aille m'ouvrir le fichier B et actualise la requête:

Dim wb As Workbook
Sub Test()
Set wb = Workbooks.Open("D:\B.xlsx")
Application.OnTime Now + TimeValue("00:00:05"), "closeFile"
End Sub

Sub closeFile()
    wb.Save
    wb.Close
End Sub

Le hic et je m'en étais déjà rendu compte auparavant, c'est que lorsque le fichier source est ouvert la requête s'actualise sans tenir des modifications,

Il faut donc que je ferme le fichier source puis actualisé la requête du fichier B pour que cela fonctionne,

Alors avant que vous me répondiez lol, de mettre un code VBA ou simplement dans les options de la requête une actualisation de la celle ci à l'ouverture, ce que je fais habituellement,

Or dans le cas présent, les personnes qui auront accès au fichier excel n'ont pas accès au fichier source et donc la requête ne s'actualisera pas (pas de droit d’accès),

Qu'elle solution puis je envisager?,

Merci d'avance,

Bonjour Massari59264,

Faire un Timer de sauvegarde sur le fichier B

A+

Bonjour Bruno45,

Merci pour votre retour, je me demande si faire un timer de sauvegarde (que je ne connais pas) ne serait pas plus compliqué pour moi,

J'ai un peu cherché une solution et en fait je pense (votre avis m’intéresse forcément ) qu'il suffit d'enregistrer le fichier source, ouvrir le fichier B puis actualiser la requête,

le code devient :

Dim wb As Workbook
Sub Test()
ThisWorkbook.Save 'ligne ajouté
Set wb = Workbooks.Open("D:\B.xlsx")
Application.OnTime Now + TimeValue("00:00:05"), "closeFile"
End Sub

Sub closeFile()
    wb.Save
    wb.Close
End Sub

Mon fichier contenant la requête se ferme à la fin, une fois que je le ré-ouvre manuellement, une actualisation en arrière plan se fait, dois je la désactivé ou non?,

A t-elle une incidence sur l’actualisation de la requête elle même ?,

Merci d'avance,

Cordialement

Re,

J'avoue être un peu perdu dans fichier source et fichier B, lequel contient la requête à actualiser

Re,

Effectivement je ne suis pas trés clair dans mes explications,

Il y un fichier (que j’appellerai A) ou il y a un tableau structuré dont je suis le seul a avoir le chemin d' accès, je le modifie etc ...

J'ai crée un autre fichier (qu'on va appelé B que je vais partager) sur lequel par power query j'appelle via une requête le tableau structuré du fichier A,

Je souhaiterai donc à chaque fois que je décide de mettre à jour le fichier A, que je puisse également actualisé le fichier B (celui ci étant fermé lors des modifs),

Cordialement,

Re,

C'est un peu plus clair

Pour que le fichier B soit actualisé correctement, il faut que le fichier A soit enregistré

Donc soit à la fermeture du fichier A, soit à la sauvegarde.

Le code donné légèrement modifier, peut fonctionner

Dim wb As Workbook
Sub Test()
  ThisWorkbook.Save 'ligne ajouté
  Set wb = Workbooks.Open("D:\B.xlsx")
  Application.OnTime Now + TimeValue("00:00:05"), "CloseFile"
End Sub

Sub CloseFile()
    wb.Close SaveChanges:=True
End Sub

A+

Merci pour votre retour Bruno45,

Je me pose une autre question, dans le code nulle part il y a l’actualisation de la requête je me trompe ?,

Il devrait y avoir une ligne VBA un peu comme ceci non ?, :

Range("A2").ListObject.QueryTable.Refresh BackgroundQuery:=False

Si oui où la positionner, avant ou après la fonction Application.OnTime?

Merci d'avance,

Cordialement,

Re,

La requête ne s'actualise pas à l'ouverture du fichier B

Il y a une option pour ça dans la requête

A+

Bonjour Bruno45,

Effectivement dans les options, il y a cette possibilité, mais je ne souhaite pas l'activer car l’utilisateur va également l'ouvrir et n'aura pas accès à mon fichier source si la requête s'actualise,

J'ai donc ajouté avant application.On Time

Range("A2").ListObject.QueryTable.Refresh BackgroundQuery:=False

Mais ce qui me gêne c'est le range A2, peut on lui donner comme ordre d'actualisé toutes les requêtes du fichier B?,

Merci pour votre aide,

Cordialement,

Rechercher des sujets similaires à "actualisation requete power query"