|
|
|
|
Bonjour,
Je cherche à suppimer les feuilles (sauf la premiere) d'un fichier xls ouvert à partir d'un autre instance excel.
j'ai fait le code suivant mais ça ne marche pas, les feuilles ne sont pas supprimées et je suis bloqué dans la boucle.
Function supp()
Dim FileApp As New Excel.Application 'Application Excel
Dim FileWorkbook As Excel.Workbook 'Classeur Excel
'Ouverture d'un fichier Excel de reference, FileWorkbook point sur le classeur
Set FileWorkbook = FileApp.Workbooks.Open("E:\toto.xls", , False)
Do While FileWorkbook.Worksheets.Count > 1
FileWorkbook.Worksheets(FileWorkbook.Worksheets.Count).Delete
Loop
Set FileWorkbook = Nothing
'fermer le fichier ouvert
FileApp.Workbooks(strFilename).Close True
End Function
Configuration: Windows XP Internet Explorer 6.0
Bonjour
Do While FileWorkbook.Worksheets.Count > 1
FileWorkbook.Worksheets(FileWorkbook.Worksheets.Count).Delete
Loop
devient :
Dim i as integer
if fileworkbook.worksheets.count>1 then
for i = fileworkbook.worksheets.count - 1 to 1 step -1
fileworkbook.worksheets(i).delete
next i
end if
si tu as des message de confimation de suppression de feuille, tu peux encadrer la boucle For Next avec ces 2 lignes FileApp.DisplayAlerts=False For....... Next FileApp.DisplayAlext=True je ne sais pas à partir de quoi tu lance cette instance, mais en Excel VBA, le code non testé doit quand meme fonctionner Cordialement Wilfried ps: n'oubliez pas de mettre votre fil sur résolu quand vous obtenez ce que vous cherchez. Merci |