XL 2013 procédure supp feuille

jemi999

XLDnaute Nouveau
Bonjour, je suis stoppé dans cette question pour mon TP qui sera rendue demain.
SVP quelq'un me donner une fonction qui efface les feuilles vides du classeur courant en personalisant la confirmation. On pourra ici d'utiliser les fonctions integrées ISARRAY et ISEMPTY.
j'ai essayé avec :
Sub purgfeuilles()
Dim feuille As Worksheet
For Each feuille In Sheets
If IsEmpty(feuille.Cells) Then
bouton = vbYesNo + vbDefaultButton2
repnse = 1
msgbox("supprimer la feuille", bouton)
If reponse = vbYes Then
Worksheet.Delete
End If
feuille.Delete
End If

Next feuille
end sub
 

Modeste

XLDnaute Barbatruc
Re : procédure supp feuille

Bonjour jemi999 et bienvenue,

Si tu repasses par ici, il faudrait qu'on s'entende sur ce que tu appelles des "feuilles vides": les cellules pourraient être vides, sans pour autant que la feuille le soit (zone de texte, graphique, commentaires, etc.)

Pas certain, par ailleurs que la fonction ISEMPTY puisse être appliquée à l'ensemble des cellules d'une feuille!?

S'il s'agit de vérifier que toutes les cellules sont vides, il me semble que ceci pourrait fonctionner:
VB:
Sub purgfeuilles()
Dim feuille As Worksheet
For Each feuille In Sheets
If Application.CountA(feuille.Cells) = 0 Then
bouton = vbYesNo + vbDefaultButton2
reponse = MsgBox("supprimer la feuille", bouton)
If reponse = vbYes Then feuille.Delete
End If
Next feuille
End Sub
 

shmider

XLDnaute Occasionnel
Re : procédure supp feuille

Bonjour à vous deux,

En fait ce code permet effectivement de supprimer l'ensemble des feuilles vides après vérification.

Retente et tiens nous au courant.
@+
 

Pièces jointes

  • Test supp feuille vide.xlsx
    9.8 KB · Affichages: 42
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : procédure supp feuille

Bonsoir jemi999, shmider,

Merci au second pour la confirmation (même si un fichier au format .xlsx ne saurait contenir de macro: il devrait être du type .xlsm) :(

Comme le fichier existait -avec même un bouton tout prêt à servir- j'en ai lâchement profité: j'ai placé le code proposé dans un module standard et associé la macro au bouton de shmider.

Les 4 onglets de couleur rouge sont des feuilles vides, contrairement aux autres ... et ces 4 feuilles sont bien supprimées au terme de l'exécution!?
 

Pièces jointes

  • supp feuille vide (jemi999).xlsm
    21.8 KB · Affichages: 34

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 078
Membres
103 111
dernier inscrit
Eric68350