Supprimer toutes les feuilles sauf 4 VBA

Résolu
rou -  
 Nico -
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
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. rou
       
      Ca marche parfaitement lermite222. Un grand merci, voilà qui va résoudre mon problème
      0
    2. taboulet
       
      extra pour supprimer certaines feuilles, merci !!!
      0
    3. Nico
       
      Super Merci
      0
  2. rou
     
    oui oui merci mais le probleme est que je le fais tous les jours ....;-)
    1
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. baz
       
      je ne c'est pas pourquoi il ne me selectionne pas toutes les feuilles il en oublie toujour une ou deux
      0
    2. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      Tu a bien mis la procédure dans un module générale ? pas un module de feuille !
      0
  4. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Rien à dire!!!
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. rou
     
    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
  7. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    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
  8. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    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
    1. Anonym
       
      Mettre "ActiveSheet.Next.Activate" a la place de "ActiveSheet.Next.Select"
      0