- Ce sujet contient 4 réponse, 3 participant et a été mis à jour pour la dernière fois par il y a 7 années. , le
- Vous devez être connecté pour répondre à ce sujet.
Accueil – Le CFO masqué › Forums › Excel › Actualiser Power Query en VBA
Étiqueté : VBA Power Query
Bonjour,
J’ai un fichier excel proteger, relier a d’autres excel par power query.
Je cherche un moyen d’actualiser les donnes par vba a l’ouverture du fichier.
Cependant si j’ecrits
sub R_PQ()
ThisWorkbook.Unprotect (“3021”)
ThisWorkbook.refreshAll
ThisWorkbook.protect (“3021”)
End Sub
L’actualision s’arrete
quelqu’un a une idee
Merci
Bonjour
Selon mes expériences, on ne peut pas déverrouiller une feuille via une macro. Sinon, tu peux toujours actualiser tes tableaux, connexions, TCD si ceux-ci ne se trouvent pas dans des champs verrouillés.
je te conseille plutôt de mettre les éléments dans un onglet masqué non-verrouillé.
pour actualiser l’exhaustivité de tes requets powerquery, utiliser plutôt une boucle:
sub R_PQ()
for i = 1 to thisworkbook.connections.count
thisworkbook.connections(i).refresh
next
end sub
Bonne chance!
Merci de votre réponse.
Le vrai probleme est que si j’actualise par macro,l’actualisation s’arrete quand le script vba se termine et non quand l’actualisation est terminé, donc je recois des erreurs d’actualisations dans mes requetes.
Vous avez une idee que le script ne s’arrete pas pendant x temps?
Merci
j’ai trouve une solution…
Couper la macro en 2
`Sub DataRefresh()
‘ ActiveSheet.Unprotect “123”
ActiveWorkbook.RefreshAll
Application.OnTime Now + TimeValue(“00:00:01”), “DataRefresh2”
End Sub
Sub DataRefresh2()
If Application.CommandBars.GetEnabledMso(“RefreshStatus”) Then
Application.OnTime Now + TimeValue(“00:00:01″), ” DataRefresh2″
Else
End If
End Sub
Bonjour,
Votre 1ere macro est tout à fait correct et le problème vient du type de mise à jour de Power Quercy. Par défaut cette actualisation se fait en arrière plan, du coup le code lance l’actualisation puis se poursuit. Bien sûr vous pouvez utiliser la temporisation comme dans votre 2e macro. Mais le mieux c’est de décocher l’actualisation des requêtes. Ainsi votre 1ère macro est amplement suffisante.
Cathy Monier
Avant de poser une question assurez-vous que :
Votre besoin dépasse les limites de ce forum?
Si votre besoin dépasse les limites de ce forum et constitue davantage une demande d’accompagnement en consultation professionnelle, nous vous invitons à remplir notre formulaire pour recevoir une soumission concernant une banque d’heures d’accompagnement à distance personnalisé.
Ce parcours présente près de 60 heures de contenu structuré.
Chaque formation peut être suivie en ligne, à votre rythme, et elles demeurent accessibles à vie.
Identifier les bons outils pour vos projets • Gérer efficacement vos données • Débuter vos premiers tableaux de bord • Gagner du temps grâce à l’automatisation • Renforcer votre capacité d’analyse et de décision
Et surtout… transformer vos opérations pour plus d’agilité et de valeur !