Supprimer certaines feuilles d'un classeur

lumpy

XLDnaute Nouveau
Bonjour,

Je souhaite supprimer toutes les feuilles d'un classeur sauf les 3 premières. J'ai utilisé ce code mais qui ne fonctionne que partiellement. Au bout d'un moment, il ne supprime plus les feuilles et reste bloqué. Je pense que cela est dû au comptage total des feuilles au fur et à mesure des suppressions mais je ne vois pas quoi modifié. Auriez-vous une idée ?

Par avance merci de votre aide.

Sub SupprimerFeuilles()

Dim i As Integer

Application.DisplayAlerts = False

For i = 4 To Sheets.Count
Sheets(i).Delete
Next i

Application.DisplayAlerts = True

End Sub
 

Pièces jointes

  • Supprimer feuilles.xlsm
    19.7 KB · Affichages: 172

Hieu

XLDnaute Impliqué
Salut tous,

Une proposition différente :
VB:
Sub mlk()
Application.DisplayAlerts = False
For Each s In Sheets
If s.Name <> "Feuil1" And s.Name <> "Feuil2" And s.Name <> "Feuil3" Then s.Delete
Next s
Application.DisplayAlerts = True
End Sub

++

@jecherche : le code vba ne se fait plus ?? (je mettais "code=vba", pour les bouts de code...)
 

lumpy

XLDnaute Nouveau
J'avais trouvé le code suivant qui semble fonctionner mais j'aime bien l'idée de définir les feuilles à ne pas supprimer. Merci beaucoup pour votre aide.

Dim i As Integer, MonArray()
ReDim MonArray(Worksheets.Count - 4)

Application.DisplayAlerts = False

For i = 4 To Worksheets.Count 'Parcours des feuilles
MonArray(i - 4) = Sheets(i).Name
Next i

Sheets(MonArray).Select 'sélection de l'ensemble
Sheets(MonArray).Delete

Application.DisplayAlerts = True
 

Discussions similaires

Réponses
10
Affichages
484

Statistiques des forums

Discussions
311 737
Messages
2 082 030
Membres
101 876
dernier inscrit
JULIEN21370