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 ?
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...)
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