VBA EXCEL supprimer les lignes à zéro
slymo
Messages postés
3
Statut
Membre
-
slymo Messages postés 3 Statut Membre -
slymo Messages postés 3 Statut Membre -
Bonjour,
Je souhaite par une macro VBA (je n'ai pas été formé à la programmation), automatiser la suppression de lignes entières quand dans la colonne B il y a zéro (le fichier fait pour le moment 52 feuilles et je souhaite que la macro ne se fasse que sur 50 d'entre elles, et qu'elle fonctionne sur des futures feuilles qui pourraient s'ajouter)
Sur le site, j'ai trouvé un bout de réponse par la macro ci-dessous (que j'ai un peu retouché pour qu'elle se fasse sur la colonne que je souhaite), mais que dois-je rajouter pour qu'elle se fasse sur les feuilles de mon choix ?
Public Sub SupprLigneCellZero_ColB()
Dim x As Long
Dim y As Long
x = Range("B1048576").End(xlUp).Row
For y = x To 1 Step -1
If Cells(y, 2).Value = 0 Then
Rows(y).Delete
End If
Next y
End Sub
Merci pour votre aide
Je souhaite par une macro VBA (je n'ai pas été formé à la programmation), automatiser la suppression de lignes entières quand dans la colonne B il y a zéro (le fichier fait pour le moment 52 feuilles et je souhaite que la macro ne se fasse que sur 50 d'entre elles, et qu'elle fonctionne sur des futures feuilles qui pourraient s'ajouter)
Sur le site, j'ai trouvé un bout de réponse par la macro ci-dessous (que j'ai un peu retouché pour qu'elle se fasse sur la colonne que je souhaite), mais que dois-je rajouter pour qu'elle se fasse sur les feuilles de mon choix ?
Public Sub SupprLigneCellZero_ColB()
Dim x As Long
Dim y As Long
x = Range("B1048576").End(xlUp).Row
For y = x To 1 Step -1
If Cells(y, 2).Value = 0 Then
Rows(y).Delete
End If
Next y
End Sub
Merci pour votre aide
1 réponse
-
Bonjour,
Si les feuilles se suivent tu peux faire une boucle sur les feuiles :Public Sub SupprLigneCellZero_ColB() Dim x As Long Dim y As Long ' boucle sur les feuilles 3 à 50 A ADAPTER en fonction des feuilles à traiter For f=3 to 50 ' ou alors si on veut boucler depuis la 3eme feuille jusqu'à la derniere celle ci étant variable si on augmente le nombre de feuilles : ' For f = 3 to sheets.Count With sheets(f) ' pour ne pas avoir à répéter le nom de la feuille, il sera remplacé dans chaque ligne par un point devant Range, Cells ou Rows x = .("B1048576").End(xlUp).Row For y = x To 1 Step -1 If .Cells(y, 2).Value = 0 Then .Rows(y).Delete ' sur une seuligne évite le end if Next y End With Next f End Sub
Cdlmnt
Via