supprimer lignes des cellules pas en couleurs

yoda60

XLDnaute Nouveau
bonjour a tous

j'ai une macro qui marche bien mais je voudrais l'appliquer a certaines feuilles de mon classeur en meme temps


par exemple pour la feuille 2 et la feuille 4 et la feuilles 7

si quelqu'un a une idée ce serait bien sympa

merci !!!!

Dim cell As Range
Dim test As Integer
Dim i As Integer

Application.ScreenUpdating = False
'ci dessous nb de ligne concernées
For i = 500 To 1 Step -1
For Each cell In Rows(i)
If cell.Interior.ColorIndex = xlNone Then test = 1
Next
If test = 1 Then Rows(i).Delete
test = 0
Next
 

Staple1600

XLDnaute Barbatruc
Re : supprimer lignes des cellules pas en couleurs

Bonsoir à tous

Essayes ceci ou quelque chose d’approchant
Code:
Sub Test() ' non teste
Dim cell As Range, i As As Long, j as byte, Feuilles
Feuilles=Array(2,4,7)
Application.ScreenUpdating = False
'ci dessous nb de ligne concernées
For j=0 to 2
For i = 500 To 1 Step -1
    For Each cell In Sheets(Feuilles(j)).Rows(i)
        If Sheets(Feuilles(j)).cell.Interior.ColorIndex = xlNone Then Sheets(Feuilles(j)).Rows(i).Delete
    Next
    Next i
Next j
End Sub
 

yoda60

XLDnaute Nouveau
Re : supprimer lignes des cellules pas en couleurs

bonsoir,

j'ai une erreur de syntaxe pour
Dim cell As Range, i As As Long, j as byte, Feuilles

quelqu'un aurais une idée ?

merci de votre patience et de votre aide.
cordialement
 

Staple1600

XLDnaute Barbatruc
Re : supprimer lignes des cellules pas en couleurs

Bonjour

Désole pour le typo (Il y avait un As de trop)
Code:
Sub Test() ' non teste
Dim cell As Range, i As Long, j as byte, Feuilles
Feuilles=Array(2,4,7)
Application.ScreenUpdating = False
'ci dessous nb de ligne concernées
For j=0 to 2
For i = 500 To 1 Step -1
    For Each cell In Sheets(Feuilles(j)).Rows(i)
        If Sheets(Feuilles(j)).cell.Interior.ColorIndex = xlNone Then Sheets(Feuilles(j)).Rows(i).Delete
    Next
    Next i
Next j
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : supprimer lignes des cellules pas en couleurs

Re

Cette fois-c j'ai testé (oublie mon autre proposition)
Code à adapter à tes besoins.
Il faut lancer la macro nommée main
Code:
Sub supprligne(Feuille$, Plage$, Couleur As XlColorIndex)
Dim i&
For i = Sheets(Feuille).Range(Plage).Rows.Count To 1 Step -1
If Sheets(Feuille).Cells(i, 1).Interior.ColorIndex = Couleur Then
Sheets(Feuille).Cells(i, 1).EntireRow.Delete
End If
Next i
End Sub
Code:
Sub main()
supprligne "Feuil2", "A1:A5", xlColorIndexNone
supprligne "Feuil4", "A1:A5", xlColorIndexNone
supprligne "Feuil7", "A1:A5", xlColorIndexNone
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : supprimer lignes des cellules pas en couleurs

Re

La macro telle quelle ne teste que les cellules de la colonne A.
Donc si tu veux tester d'autres cellules ailleurs dans les feuilles, il faudra modifier le code en conséquence
 

Discussions similaires