Autres Suppression des feuilles qui ne contiennent pas des mots clés

elbahja79

XLDnaute Nouveau
Bonjour
je voudrais supprimer, d'une façon automatique, d'un classeur qui contiennent un grand nombre de feuilles, les feuilles qui ne contiennent pas un mot clé choisit par liutilisateur.

par exemple, l'utilisateur saisit le mot clé "test de suppression" et je dois chercher toutes les feuilles ou il n'y à aucune cellule qui contienne ce mot clé et la supprimer.

est ce cela est faisable par power-query ou je dois passer par vba

Merci
 

Pièces jointes

  • testDeleet.xlsx
    16.6 KB · Affichages: 6
Dernière édition:

vgendron

XLDnaute Barbatruc
Hello

une solution par macro ici
VB:
Sub suppression()

MotClé = Application.InputBox("Saisissez le mot clé à chercher")
If MotClé = "" Then Exit Sub

Application.DisplayAlerts = False
For Each ws In ActiveWorkbook.Sheets
    With ws
        Set trouve = .Cells.Find(MotClé)
        If trouve Is Nothing Then
            .Delete
        End If
    End With
Next ws
Application.DisplayAlerts = True
End Sub
 

job75

XLDnaute Barbatruc
Bonjour elbahja79, bienvenue sur XLD,

A placer dans un module standard :
VB:
Sub Sup()
Dim x$, nf%, i%, c As Range, n%
x = "test de suppresion" 'faute d'orthographe !!!
nf = Worksheets.Count
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
For i = nf To 1 Step -1
    Set c = Worksheets(i).Cells.Find(x, , xlValues, xlPart)
    If c Is Nothing Then n = n + 1: Worksheets(i).Delete
Next
If Err Then n = n - 1
MsgBox n & " feuille(s) sur " & nf & " supprimée(s)" & IIf(Err, ", la dernière ne peut l'être !", "")
End Sub
Edit : salut vgendron, pas rafraîchi...

A+
 

chris

XLDnaute Barbatruc
Bonjour à tous
je voudrais supprimer, d'une façon automatique, d'un classeur qui contiennent un grand nombre de feuilles, les feuilles qui ne contiennent pas un mot clé choisit par liutilisateur.

par exemple, l'utilisateur saisit le mot clé "test de suppression" et je dois chercher toutes les feuilles ou il n'y à aucune cellule qui contienne ce mot clé et la supprimer.

est ce cela est faisable par power-query ou je dois passer par vba

Je confirme pour info que ce n'est pas du domaine de PowerQuery qui manipule des données mais n'agit pas sur la structure du contenant et que c'est donc bien VBA la solution
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Voici.
Je ne voyais pas pourquoi ma macro ne fonctionnait pas alors que tout était bon :
les feuilles contiennent 'test de suppresion" et non "test de suppression" 🤣
donc elle fonctionne :)

Cordialement
 

Pièces jointes

  • testDeleet.xlsm
    28 KB · Affichages: 6

Discussions similaires

Réponses
16
Affichages
1 K

Statistiques des forums

Discussions
314 489
Messages
2 110 136
Membres
110 684
dernier inscrit
kihel