Bonjour,

je suis desesperee avec un pivot cache refresh d'un outil programme en visual studio/VB.net.

Je
- alter une view dans le SQl Server
- ensuite j'ouvre un template dans excel avec une connexion a cette view du SQL Server
- je veux actualiser une pivot dans ce meme fichier

Probleme: les donnees des pivots ne s'actualisent pas, ou plus precisement, pas toujours. Si je debugge et continue avec F11, tout va bien. Lorsque je laisse la macro faire, le code semble ignorer le pivot cache refresh...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
 With wbXl
                'wbXl.sheets("Data").activate()
                .RefreshAll()        'pour charger les donnees changees par le alter view
 
                .sheets("Auswertung Costs").activate()
                .sheets("Auswertung Costs").pivottables("Pivot_Costs").pivotcache.refresh()   'ceci se fait seulement en debug/F11
 
                Application.DoEvents()      'un essai....
                Do Until appXL.calculationstate() = 0  'un autre essai.....
                Loop
 
                .sheets("Auswertung Staff").activate() 
                .sheets("Auswertung Staff").pivottables("Pivot_Staff").pivotcache.refresh()   'deuxieme pivot, la meme chose
 
 
                Do Until appXL.calculationstate() = 0
                Loop
 
                Application.DoEvents()
                Do Until appXL.calculationstate() = 0
                Loop
Entretemps j'avais essaye de rajouter des doevents, appXl.calculationstate etc.
Aussi, je pensais un moment que je pouvais reussir en touchant les options du pivot table par rapport a la gestion de nouvels elements (les rajouter ou ignorer). Mais ce n'est pas stable.

Quelqu'n aurait une idee??

Merci d'avance