Macro: supprimer des feuilles commencant par "feuil"

Marie123

XLDnaute Junior
Bonjour à tous,

Dans un fichier, j'ai une macro qui supprime des feuilles commençant par "feuil". Elle fonctionne très bien lorsqu'il y a des feuilles qui commencent par "feuil" dans mon classeur.
Par contre, lorsqu'il y en a pas, elle me supprime la feuille (qui se nomme "MODOP") où je l'ai insérée!
Savez-vous pourquoi svp?

Voici ma macro:

Sub suppr()
'
' suppr Macro
'

'
'supprime les messages d'alerte
Application.DisplayAlerts = False
For Each Feuille In Worksheets
If Left(Feuille.Name, 5) = "Feuil" Then
If x = 0 Then
Feuille.Activate
x = 1
End If
Feuille.Select Replace:=False
End If
Next Feuille
ActiveWindow.SelectedSheets.Delete
Sheets("MODOP").Select
'rétabli les messages d'alerte
Application.DisplayAlerts = True
End Sub


Merci et bonne journée :)
 

pierrejean

XLDnaute Barbatruc
Bonjour Marie
a tester:
'supprime les messages d'alerte
Application.DisplayAlerts = False
For Each Feuille In Worksheets
If Left(Feuille.Name, 5) = "Feuil" Then
Feuille.delete
Next Feuille
Sheets("MODOP").Select
'rétabli les messages d'alerte
Application.DisplayAlerts = True
End Sub
 

Marie123

XLDnaute Junior
Merci Pierrejean,
J'ai testé la formule mais une fenetre d'erreur apparait:

Erreur de compilation
Next sans For

Savez-vous ce que la macro tente de me dire svp?
 

pierrejean

XLDnaute Barbatruc
Re
Utiliser celle-ci (elle a été testée) à mettre dans le module de la feuille MODOP qui doit exister (éventuellement une autre feuille dont le début n'est pas Feuil)
Sub suppression()
Application.DisplayAlerts = False
For n = Sheets.Count To 1 Step -1
If Left(Sheets(n).Name, 5) = "Feuil" Then
Sheets(n).Delete
End If
Next
Application.DisplayAlerts = True
End Sub
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas