Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb de rafraîchissement DATA avec script | Excel

1 réponse
Avatar
NS
Bonjour à tous,

Dans excel il est possible d'insérer des Données externes à partir d'un
connecteur ODBC.
Cette plage de données peut être rafraîchie à l'ouverture et/ou toutes les
xx min.

Pb : Lorsque j'utilise un script pour ouvrir ce fichier, il ne tient pas
compte du rafraîchissement à l'ouverture mais uniquement du 2e paramètre que
j'ai reglé à 1 mn (sinon les users vont devenir fous !).

Si j'ouvre ce même fichier sans le script alors il tien compte du premier
paramètre et rafrâîchit immédiatement.

Voici le script, que manque t-il pour que le premier paramètre soit pris en
compte ?

Merci pour votre aide.
(Je précise que toutes les machines ont l'utilitaire d'analyse installé)

'------------ Définition des
variables ------------------------------------------->

Dim Users, Expert, PathCape
Users = "\\cpa_serveur\users\" 'Ne pas oublier le \

'---------------------------------------------------------------------------
------<

'------------ Boîtes de dialogue
INPUT ------------------------------------------->

Expert = InputBox("Entrez les initiales de l'Expert", ":: Ouverture Fiche
CAPE ::")
If IsEmpty(Expert) Then
MsgBox "Vous avez annulé !", 48, "Annulation"
Wscript.Quit
Else
If Len(Expert) = 0 Then
MsgBox "Vous n'avez rien saisi !", 16, "ERREUR !"
Wscript.Quit
End If
End If

'---------------------------------------------------------------------------
------<


'-------------------- Traitement de la Fiche CAPE
EXPERT ------------------------->

PathCape = Users & Expert & "\" & "_AXA CS Cape_" & "\" & "2005 RéCAPE " &
Ucase(Expert) & ".xls"
Dim objExcel, currentWorkSheet, Activeworkbook, VersionExcel, SecurityKey
Set objExcel = CreateObject("Excel.Application")
With objExcel
If .AddIns("Utilitaire d'analyse").Installed Then
.AddIns("Utilitaire d'analyse").Installed = False
End If
.AddIns("Utilitaire d'analyse").Installed = True
.Workbooks.Open PathCape
.Visible = True
End With

Set currentWorkSheet = objExcel.ActiveWorkBook.Worksheets(1)
currentWorkSheet.Activate

'---------- RELEASE MEMORY --------------------->
Set objExcel = Nothing
Set currentWorkSheet = Nothing
Set Shell = Nothing
Wscript.Quit
'---------- RELEASE MEMORY ---------------------<

1 réponse

Avatar
NS
Bon je me réponds à moi-même puisque j'ai trouvé la soluce, il suffit de
mettre un petit :

objExcel.ActiveWorkBook.Worksheets(3).Range("a1").QueryTable.Refresh
objExcel.ActiveWorkBook.Worksheets(4).Range("a1").QueryTable.Refresh
objExcel.ActiveWorkBook.Worksheets(5).Range("a1").QueryTable.Refresh

et ça roule..(mes feuilles 3, 4 et 5 sont masquées et contiennent des Query
SQL.)

@+