Supprimer toutes les feuilles sauf 4 VBA

Résolu/Fermé
rou - 4 janv. 2009 à 13:28
 Nico - 6 févr. 2015 à 14:13
Bonjour à tous,

je cherche une macro pour supprimer toutes les feuilles de mon classeur sauf 4....
le nom de mes feuilles à conserver sont feuil2 , feuil4, rangement et total.


Merci d avance
A voir également:

7 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
5 janv. 2009 à 14:20
Et pour être plus complet...
Sub SupprimeFeuille()
Dim Compteur As Integer, Nom As String
    Application.DisplayAlerts = False
    For Compteur = Worksheets.Count To 1 Step -1
        Nom = Sheets(Compteur).Name
        Select Case Nom
        Case "feuil2", "feuil4", "rangement", "total"
            
        Case Else
            Sheets(Compteur).Delete
        End Select
    Next Compteur
    Application.DisplayAlerts = True
End Sub

A+
7
Ca marche parfaitement lermite222. Un grand merci, voilà qui va résoudre mon problème
0
extra pour supprimer certaines feuilles, merci !!!
0
Super Merci
0
oui oui merci mais le probleme est que je le fais tous les jours ....;-)
1
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
5 janv. 2009 à 14:08
Bonjour tous,
pour la boucle ont peu voir avec
For compteur = 1 To WorkSheet.count

et pour empécher le message
Application.DisplayAlert = False
pas oublier de remettre à true quand fini.

A+
1
je ne c'est pas pourquoi il ne me selectionne pas toutes les feuilles il en oublie toujour une ou deux
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
27 janv. 2014 à 12:27
Tu a bien mis la procédure dans un module générale ? pas un module de feuille !
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
5 janv. 2009 à 18:39
Rien à dire!!!
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hello,

désolé je suis en australie dans les terres et internet ne passe pas très bien....
Merci à vous je vais tester . merci merci merci TY
1
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
4 janv. 2009 à 14:23
Si tu dois le faire juste une fois, tu aurais aussi vite fait de mettre ces 4 là au début, puis sélectionner toutes les autres avec un clic sur le 5ème onglet puis un Shift-Clic sur le dernier, puis clic droit et supprimer...
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
5 janv. 2009 à 12:39
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 05/01/2009 par LatelyGeek
'
For compteur = 1 To 10

If ActiveSheet.Name = "Feuil2" Or ActiveSheet.Name = "Feuil4" Or ActiveSheet.Name = "Rangement" Or ActiveSheet.Name = "Total" Then
ActiveSheet.Next.Select
Else
ActiveWindow.SelectedSheets.Delete
End If
compteur = compteur + 1
Next
End Sub

Ca fonctionne, il y a juste deux choses:
J'ai mis 1 To 10 mais il faut que tu changes cette valeur si tu as un autre nombre de feuilles (Tu peux voir grand, s'il n'y a plus de feuille ça ne bloquera pas)

Excel te demande confirmation de suppression pour chaque feuille. Il y a certainement un moyen de zapper ça, mis je n'ai pas trouvé la commande. En Access je sais, pas en Excel... Désolée. Il y a des balèzes en Excel qui traînent sur le forum, ils doivent savoir!!!
0
Mettre "ActiveSheet.Next.Activate" a la place de "ActiveSheet.Next.Select"
0