Bonsoir le forum,

Ze bricoleur de scritps est de retour

J'ai une petite question.

Après avoir chipoté pendant quelques dizaines de minutes, j'ai réussi à bricoler ce code avec des petits bouts de codes repris à droite et à gauche et finalement il fonctionne.

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
Dim xlApp
Dim wk
Dim ws
Dim wsa
Const cstFile = "temp.xls"
Const InSheet = "Sheet1"
 
Set XlApp = CreateObject("Excel.Application")
XlAPP.visible =1
 
'XlAPP.visible =0  > le script s'exécute mais EXCEL ne s'ouvre pas  !
'XlAPP.visible =1  > le script s'exécute ET EXCEL s'ouvre à l'écran, le temps du script !
 
Set wk = xlAPP.Workbooks.Open("C:\doctemp\" & cstFile)
 
Set wsa = xlapp.worksheets.Add
 
wk.Sheets(InSheet).delete
 
XlApp.DisplayAlerts = False 
 
wk.Save
wk.Close    'Fermeture du classeur Excel
 
XlApp.DisplayAlerts = True
 
xlApp.Quit  'Fermeture de l'application Excel

Mais ...

je voudrais être capable d'ajouter une sheet avec un nom précis, ce que je ne sais pas faire :/

J'ai essayé

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Set wsa = xlapp.worksheets("Toto1").Add
mais il me met un message d'erreur (cet objet ne gère pas ...) alors que je ne fais qu'appliquer, me semble-t-il la même logique que pour le delete sheet.

Quelqu'un aurait-il la lumière pour éclairer ma bougie ?

Merciiiiiiiiiii d'avance