Supprimer Ligne jaune via Excel

Bonjour à tous,

J'aurais besoin de votre aide car je cherche un moyen de supprimer automatiquement les lignes jaunes de ma feuille excel via VBA.

J'ai un code me permettant d'effacer la couleur des lignesjaunes, seulement les lignes ne sont pas supprimées, elles deviennent juste vides.

"Dim ws As Worksheet
Dim c As Range

For Each ws In Worksheets
For Each c In ws.UsedRange
With c.Interior
.ColorIndex = IIf(.ColorIndex = 6, xlNone, .ColorIndex)
End With
Next c
Next ws"

4ligne-jaune.xlsm (22.79 Ko)

Bonjour,

Lorsque l'on supprime des lignes on part souvent de la fin et on remonte de 1 à chaque fois. De plus ici vous effacez juste le contenu via le xlNone. Un code plus adapté :

Sub suppr_ligne_jaune()
Dim WS As Worksheet, LR%
For Each WS In Worksheets
    LR = WS.UsedRange.Rows.Count 'Défini la dernière ligne
    For L = LR To 2 Step -1 'Pour chaque ligne avec un pas de -1
        If WS.Cells(L, 1).Interior.ColorIndex = 6 Then WS.Cells(L, 1).EntireRow.Delete 'Si le remplissage est jaune alors on supprime la ligne
    Next L 'Passe à la ligne suivante
Next WS 'Passe à la feuille suivante
End Sub

Cdlt,

Salut elle est parfaite ta formule merci pour ton retour ! Ce serait possible de l'appliquer non seulement pour chaque feuille mais pour chaque classeur ouvert ayant des lignes jaunes également ?

Merci bcp !

Bonjour,

Un test non optimisé mais fonctionnel :

Sub suppr_ligne_jaune()
Dim WS As Worksheet, LR%, WB As Workbook, L%
For Each WB In Workbooks
    For Each WS In Workbooks(WB.Name).Worksheets
        LR = Workbooks(WB.Name).Worksheets(WS.Name).UsedRange.Rows.Count
        For L = LR To 2 Step -1 'Pour chaque ligne avec un pas de -1
            If Workbooks(WB.Name).Worksheets(WS.Name).Cells(L, 1).Interior.ColorIndex = 6 Then Workbooks(WB.Name).Worksheets(WS.Name).Cells(L, 1).EntireRow.Delete
        Next L
    Next WS
Next WB
End Sub

On peut également définir LR comme étant :

LR = Workbooks(WB.Name).Worksheets(WS.Name).Cells(Rows.Count,1).End(xlUp).Row

Dès lors qu'il n'y a pas de cellule vide sur la dernière ligne à traiter en colonne 1. Cette méthode est préférée car je trouve, plus fiable.

Cdlt,

Rechercher des sujets similaires à "supprimer ligne jaune via"