Comment supprimer une feuille si le nom de la feuille ne figure pas dans une liste ?
Disons que j'ai une feuille de calcul qui contient une liste de noms de feuilles du classeur dans la colonne A, comme le montre la capture d'écran ci-dessous, et certains noms de feuilles du classeur ne sont pas dans cette liste. Maintenant, je souhaite supprimer les feuilles qui ne sont pas dans la liste de la colonne A. Comment pourrais-je résoudre cette tâche rapidement et facilement dans Excel ?
Supprimer des feuilles qui ne sont pas dans une liste spécifique avec un code VBA
Supprimer des feuilles qui ne sont pas dans une liste spécifique avec un code VBA
Normalement, vous pouvez vérifier les noms des feuilles un par un et supprimer celles qui ne figurent pas dans la liste des noms de feuilles. Mais ici, je vais vous parler d'un code VBA pour gérer cela. Veuillez procéder comme suit :
1. Allez sur la feuille de calcul qui contient la liste des noms de feuilles, puis maintenez enfoncées les touches ALT + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Ensuite, cliquez sur Insérer > Module, et collez le code suivant dans la fenêtre Module.
Code VBA : Supprimer des feuilles qui ne sont pas dans une liste
Sub Deletenotinlist()
'Updateby Extendoffice
Dim i As Long
Dim cnt As Long
Dim xWb, actWs As Worksheet
Set actWs = ThisWorkbook.ActiveSheet
cnt = 0
Application.DisplayAlerts = False
For i = Sheets.Count To 1 Step -1
If Not ThisWorkbook.Sheets(i) Is actWs Then
xWb = Application.Match(Sheets(i).Name, actWs.Range("A2:A6"), 0)
If IsError(xWb) Then
ThisWorkbook.Sheets(i).Delete
cnt = cnt + 1
End If
End If
Next
Application.DisplayAlerts = True
If cnt = 0 Then
MsgBox "No sheets found to delete.", vbInformation, "Kutools for Excel"
Else
MsgBox "Have deleted " & cnt & " worksheets."
End If
End Sub
Remarque : Dans le code ci-dessus, A2:A6 est la référence de cellule qui contient les noms de feuilles, vous pouvez la modifier selon vos besoins.
3. Puis appuyez sur la touche F5 pour exécuter ce code, les feuilles qui ne sont pas dans la liste seront immédiatement supprimées, voir capture d'écran :
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !