Macro recherche puis suppression

lelukois

XLDnaute Nouveau
Bonsoir, je travail sur un tableau, je cherche a automatisé une tâche.
Je travail avec cette macro la :

Sub Sup_Eval()
'
' Sup_Eval Macro
rep = InputBox("Quelle est la feuille à supprimer ? ")
For Each Feuille In Worksheets
If Feuille.Name Like rep Then
Feuille.Delete
End If
Next Feuille
End Sub

Cela fonctionne très bien, mais je dois contrôler moi même les feuilles, enlever le mot de passe, lancer la macro et rentré le nom de la feuille dans la fenêtre qui s'ouvre.
Par rapport a mon job je dois enlever les feuilles inutilisés avant l'envoie.
Mais j'ai énormément de ces tableaux a "nettoyé".
La macro devra vérifié dans les cellule AY1 jusque la cellule DC41 si il y a de la donnée dans les feuilles eval_1 jusque eval_10, dans les feuilles ou il n'y a rien (dans la plage de cellule spécifié AY1 : DC41), elle devront être
sélectionné puis supprimé avec un message de confirmation avec si possible le nom des feuilles sélectionné pour la suppression, affichés dans une fenêtre.
J'espère me faire comprendre.
Mon niveau en VBA est presque au niveau de zéro, j'adapte les macros trouvé sur le forum pour mes tableaux. Mais là je n'ai rien trouvé de probant se rapprochant de ce que j'ai besoin.
Pour cela je vous joint un fichier exemple.
En vous remerciant par avance. :)
 

Pièces jointes

  • Classeur1.xlsx
    66.5 KB · Affichages: 69
  • Classeur1.xlsx
    66.5 KB · Affichages: 73
  • Classeur1.xlsx
    66.5 KB · Affichages: 82

ROGER2327

XLDnaute Barbatruc
Re : Macro recherche puis suppression

Bonsoir lelukois


Un essai dans le classeur joint.​


ROGER2327
#6247


Jeudi 5 Phalle 139 (Assomption de Sainte Messaline - fête Suprême Seconde)
28 Thermidor An CCXX, 9,5291h - lupin
2012-W33-3T22:52:11Z
 

Pièces jointes

  • Copie de Classeur1.xlsm
    83.7 KB · Affichages: 68
  • Copie de Classeur1.xlsm
    83.7 KB · Affichages: 66
  • Copie de Classeur1.xlsm
    83.7 KB · Affichages: 77

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Macro recherche puis suppression

Bonsoir lelukois, ROGER2327,

Une autre approche. Le classeur contenant la macro de suppression est indépendant des classeurs à vérifier.
Après avoir cliqué sur le bouton "Supprimer les feuilles", sélectionner une cellule du classeur a vérifier (ce dernier doit être ouvert).
Le classeur avec la macro => Macro recherche puis suppression.xlsm
le classeur des feuilles à supprimer => XXXX.xlsx

le code de Macro recherche puis suppression.xlsm:
VB:
Option Explicit

Sub Suppfeuilles()
Dim wkbSupp, Xrg As Range, Rep As String, Feuille As Worksheet
'Déterminer le classeur dont les feuilles sont à supprimer

Set Xrg = Nothing
On Error Resume Next
Set Xrg = Application.InputBox(prompt:="Sélectionner une cellule au sein " & _
  "du classeur dont les feuilles doivent être controlées puis supprimées", Type:=8)
On Error GoTo 0

If Xrg Is Nothing Then
  MsgBox "Vous avez choisi d'annuler: " & " => échec"
  Exit Sub
End If

wkbSupp = Xrg.Parent.Parent.Name
If wkbSupp = ThisWorkbook.Name Then
  MsgBox "Vous avez choisi le classeur: " & wkbSupp & " => échec"
  Exit Sub
End If

Rep = InputBox("Quel est le préfixe des feuilles à supprimer")

With Workbooks(wkbSupp)
  For Each Feuille In .Worksheets
    If LCase(Feuille.Name) Like LCase(Rep) & "*" Then
    On Error Resume Next
    Set Xrg = Nothing
    Set Xrg = Feuille.Range("AY1:DC41").SpecialCells(xlCellTypeBlanks)
    On Error GoTo 0
      If Not Xrg Is Nothing Then
        If Xrg.Count = Feuille.Range("AY1:DC41").Count Then
          Application.Goto Feuille.Range("AY1:DC41"), True
          Feuille.Range("AY1:DC41").Select
          ActiveWindow.WindowState = xlMaximized
          ActiveWindow.Zoom = True
          If MsgBox("Suppression de la feuille " & Feuille.Name & " ?", _
                Buttons:=vbCritical + vbYesNo + vbDefaultButton2) = vbYes Then
            Application.DisplayAlerts = False
            Feuille.Delete
            Application.DisplayAlerts = True
          Else
            ActiveWindow.Zoom = 100
          End If
        End If
      End If
    End If
  Next Feuille
End With
End Sub
 

Pièces jointes

  • Macro recherche puis suppression.xlsm
    18.7 KB · Affichages: 58
  • XXXX.xlsx
    56.3 KB · Affichages: 59

Discussions similaires

Réponses
8
Affichages
401

Statistiques des forums

Discussions
312 321
Messages
2 087 229
Membres
103 497
dernier inscrit
JP9231