[EXCEL] VBA : supprimer feuilles ???

mortelrdv -  
wilfried_42 Messages postés 907 Date d'inscription   Statut Contributeur Dernière intervention   -
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


Merci de votre aide
A voir également:

1 réponse

wilfried_42 Messages postés 907 Date d'inscription   Statut Contributeur Dernière intervention   245
 
bonjour

ceci :
  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
0