Code à corriger svp

Zougoulou

XLDnaute Nouveau
Bonjour,

J'ai un construit un code VBA censé effacer les feuilles présentes dans mon classeur ouvert sauf quelques unes.

Cependant, ce dernier ne fonctionne pas et j'aimerais savoir pourquoi.

Code:
Sub DelFeuilles()
For Each Sht In ThisWorkbook.Worksheets
      ' Si le nom n'appartient pas à la liste entre guillemets
     If InStr(1, "Graph2 récap index_feuilles", Sht.Name) = 0 Then
Dim i As Long
    For i = Sheets.Count To 1 Step -1
        If Sheets(i).Name <> ShParam.Name Then
            Application.DisplayAlerts = False
            Sheets(i).Delete
            Application.DisplayAlerts = True
        End If
    Next i
End If
Next Sht
End Sub

Merci
 

tototiti2008

XLDnaute Barbatruc
Re : Code à corriger svp

Bonjour Zougoulou,

Pourquoi la double boucle sur tes feuilles ?
Tu veux tester que le nom n'existe pas dans la liste de tes noms et qu'il ne s'agit pas de ta feuille paramètres ?

Peut-être un truc comme ça

Code:
Sub DelFeuilles()
For Each Sht In ThisWorkbook.Worksheets
      ' Si le nom n'appartient pas à la liste entre guillemets
     If InStr(1, "Graph2 récap index_feuilles", Sht.Name) = 0 and Sht.Name <> ShParam.Name Then

            Application.DisplayAlerts = False
            Sht.Delete
            Application.DisplayAlerts = True

End If
Next Sht
End Sub
 

Zougoulou

XLDnaute Nouveau
Re : Code à corriger svp

Salut tototiti2008,

Le code modifié ne fonctionne pas, il y a une erreur d'objet requis, je n'ai pas de feuille paramètre.

C'est la partie sheet.delete qui m’intéresse dans la deuxième boucle.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Code à corriger svp

Bonjour à tous


Avec un Select Case
VB:
Sub Supprimer_FeuillesSAUFCellesci()
 Dim sh As Worksheet
 For Each sh In ThisWorkbook.Worksheets
    Select Case sh.Name
        Case "Feuil2", "Feuil3" 'ici mettre noms des feuilles à ne pas effacer
            '
        Case Else
        Application.DisplayAlerts = False
        sh.Delete
        Application.DisplayAlerts = True
    End Select
Next sh
End Sub

Je te laisse adapter et essayer sur le fichier exemple que tu as joins à ta discussion.
 
Dernière édition:

Statistiques des forums

Discussions
312 493
Messages
2 088 952
Membres
103 989
dernier inscrit
jralonso