Note: The other languages of the website are Google-translated. Back to English

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 feuille dans le classeur dans la colonne A comme ci-dessous la capture d'écran montrée, et certains noms de feuille dans le classeur ne sont pas dans la liste, maintenant, je veux supprimer les feuilles qui ne sont pas dans la liste de la colonne A. Comment pourrais-je résoudre cette tâche dans Excel rapidement et facilement?

doc supprimer la feuille ne figurant pas dans la liste 1

Supprimer les feuilles qui ne sont pas dans une liste spécifique avec le code VBA


flèche bleue bulle droite Supprimer les feuilles qui ne sont pas dans une liste spécifique avec le code VBA

Normalement, vous pouvez vérifier les noms de feuille un par un et supprimer ceux qui ne figurent pas dans la liste des noms de feuille. Mais, ici, je peux parler d'un code VBA pour y faire face. Veuillez procéder comme suit:

1. Accédez à la feuille de calcul qui contient la liste des noms de feuille, puis maintenez la touche ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Puis clique insérer > Moduleet collez le code suivant dans le Module Fenêtre.

Code VBA: supprimer les 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 "Not find the sheets to be seleted", vbInformation, "Kutools for Excel"
    Else
        MsgBox "Have deleted" & cnt & "worksheets"
    End If
End Sub

Notez les: Dans le code ci-dessus, A2: A6 est la référence de cellule qui contient les noms de feuille, vous pouvez la modifier selon vos besoins.

3. Et puis appuyez sur F5 clé pour exécuter ce code, les feuilles qui ne sont pas dans la liste ont été supprimées d'un coup, voir capture d'écran:

doc supprimer la feuille ne figurant pas dans la liste 2


Les meilleurs outils de productivité de bureau

Kutools for Excel Résout la plupart de vos problèmes et augmente votre productivité de 80 %

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2021 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition 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é de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (4)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,


Ma liste de noms de feuilles ne contient que des nombres et ce code supprime toujours tous les noms de feuilles qui ne sont que des nombres, c'est-à-dire que j'ai des feuilles nommées "1", "2" et "3" et ma liste est 1 et 3 uniquement, au lieu de supprimer la feuille "2" il supprime toutes les feuilles numérotées. Si le nom de la feuille contient des lettres, le code fonctionne correctement. Quelqu'un peut-il aider ? !
Ce commentaire a été minimisé par le modérateur sur le site
Comment cela pourrait-il être changé afin que si le nom de la feuille contient le texte de la liste, il ne les supprime pas plutôt que s'il correspond.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,

Le code a supprimé toutes les feuilles même celles qui sont incluses dans la liste.

Pourriez-vous s'il vous plaît suggérer une solution?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour nelavai
Le code fonctionne bien dans mon classeur, pourriez-vous télécharger une capture d'écran de votre problème ou une pièce jointe de votre classeur ici ? Ainsi, nous pouvons aider à vérifier le problème.
Merci !
Il n'y a pas encore de commentaires postés ici

Nous suivre

Copyright © 2009 - www.extendoffice.com. | Tous les droits sont réservés. Alimenté par ExtendOffice. | | Plan du site
Microsoft et le logo Office sont des marques commerciales ou des marques déposées de Microsoft Corporation aux États-Unis et / ou dans d'autres pays.
Protégé par Sectigo SSL