VBA - Actualisation des données

Bonjour à tous.

Dans un classeur, j'ai 4 sources de données externes liées à Power Query et 1 source interne (classeur actuel).

- Dans ce classeur, j'ai 8 requêtes Power Query et 5 TCD; le tout synthétisé dans un tableau de bord.

Mon problème et d'actualiser toutes les données (13 onglets), car la commande "Actualiser tout" ne met que partiellement à jour ces dernières.

> pour les requêtes Power Query et les TDC, j'ai coché "Actualiser les données lors de l'ouverture du fichier"; mais je crains que l'actualisation se fasse simultanément et que les TCD s'actualisent avant que Power Query n'ai fini de rapatrier les données; mon tableau de bord récupérant les données des TCD, ce dernier ne se met pas à jour. Pour que cela fonctionne, je dois lancer les maj individuellement.

Est-ce qu'un code VBA solutionnerait mon problème; PS > je ne maitrise pas du tout le langage VBA.

Par avance, merci pour votre aide.

Bonjour FAB80170,

voici un exemple à mettre dans un module standard, il faudra adapter les no. ou nom de feuille

et sans doute recopier, pour autant de tcd, la commande suivante pour les tcd

Worksheets(1).PivotTables("Tableau croisé dynamique1").PivotCache.refresh 'adapter la feuille et le no. TCD
Sub refresh_PQ_and_TCD()
UpdatePowerQueries
UpdateTCD
End Sub

Private Sub UpdatePowerQueries()
'to update Power Query
Dim lTest As Long, cn As WorkbookConnection
On Error Resume Next
For Each cn In ThisWorkbook.Connections
 lTest = InStr(1, cn.OLEDBConnection.Connection, "Provider=Microsoft.Mashup.OleDb.1", vbTextCompare)
   If Err.Number <> 0 Then
    Err.Clear
    Exit For
   End If
If lTest > 0 Then cn.refresh
Next cn
End Sub

Private Sub UpdateTCD()
Worksheets(1).PivotTables("Tableau croisé dynamique1").PivotCache.refresh 'adapter la feuille et le no. TCD
End Sub

Bonjour sabV,

merci pour votre retour. je testerais ce soir et vous tiens informé.

Encore merci.

Bonne journée.

Rechercher des sujets similaires à "vba actualisation donnees"