XL 2016 Amélioration d'une macro

JohnBill

XLDnaute Junior
Bonjour à tout le forum et à tous ceux qui œuvrent pour nous améliorer, nous les presque nuls.
J'ai une question toute simple pour un féru d'excel. J'ai un fichier pour gérer mes cd de musique qui comporte une douzaine de feuilles dans lesquelles se trouvent des lignes avec des noms de chanteurs, des titres de cd ainsi que les chansons qui les composent.
J'ai fait une macro pour supprimes les lignes dans lesquelles il n'y a pas de date afin de garder uniquement les lignes avec date, chanteur, disque ainsi que le genre et le lieu de classement (Pour avoir seulement la liste des disques). Elle fonctionne très bien.
Le problème c'est qu'il faut que je me positionne à chaque fois sur chacune des feuilles pour exécuter la macro ce qui est fastidieux.
J'aimerais que la macro s'exécute sur toutes les feuilles d'un seul coup.
Quelqu'un peut il me renseigner ?
Je joint un fichier d'exemple et merci d'avance.
 

Fichiers joints

job75

XLDnaute Barbatruc
Bonjour JohnBill,
Code:
Sub Su_Vides()
Dim w As Worksheet
On Error Resume Next 'si aucune SpecialCell
For Each w In Worksheets
    With w.Range("A1").CurrentRegion
        .Columns(1).Replace "", "#N/A", xlWhole
        .Sort .Columns(1), xlAscending 'tri pour accélérer
        .Columns(1).SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete
    End With
Next
End Sub
A+
 

JohnBill

XLDnaute Junior
Salut job75.
Merci de ta réponse. J'ai fait quelques essais sur mon fichier qui est beaucoup plus gros que celui de l'essai et cela à l'air de fonctionner parfaitement.
Quel temps précieux de gagné.
Merci encore et A+.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas