[EXCEL] VBA : supprimer feuilles ???

mortelrdv -  
wilfried_42 Messages postés 912 Statut Contributeur -
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
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. wilfried_42 Messages postés 912 Statut Contributeur 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