Bonjour,

J'aimerais savoir si il était possible de faire un Refresh() sur seulement une feuille d'un classeur car un RefreshAll() n'arrive pas à actualiser tout les TCD présent sur mon fichier Excel. Je me suis dis que la solution serait de faire ça feuille par feuille. J'ai esssayé de mettre en oeuvre cette solution avec ce code mais ça ne marche pas.



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
23
24
25
26
27
28
29
30
31
32
33
34
$excel = new-object -comobject Excel.Application
Start-Sleep -s 3


$excel.DisplayAlerts = $false
$excel.Visible = $false

$workbook = $excel.workbooks.Open($file)
Start-Sleep -s 2


#Sélection de la feuille 'S1+S2'
$workSheet = $workbook.sheets.item($SheetName)
$workSheet.Select()




#Refresh de la feuille 'S1+S2'
$worksheet.Refresh()
Start-Sleep -s 2

$workbook.Save()
Start-Sleep -s 2



$workbook.Close()
Start-Sleep -s 2
 
$excel.Application.quit()

Stop-process -processname EXCEL