Supprimer plusieurs lignes sous condition

alexandreexcel1996

XLDnaute Nouveau
Bonjour tout le monde,

Je viens vers vous car j'ai une petite difficulté. Je vous explique mon problème :

J'ai un fichier Excel avec des tableaux de plusieurs couleur. Je souhaite effectuer une macro qui puisse supprimer tous les tableaux gris. J'ai essayer de bidouiller plusieurs macro mais je n'ai rien trouvé. J'ai des connaissances en VBA plutôt limité.

Les tableaux que je veux supprimé sont de la forme suivante :

4 ligne en fonds gris (code couleur = 3) + 7 ligne en fonds blancs

Edit : Pour l'instant j'ai un code qui me permet de supprimer les lignes de cette couleurs, je cherche à supprimer les 7 lignes blanches en dessous du de celle colorer :

Voici mon code

Sub deleterow()

Dim xRg As Range, rgDel As Range
For Each xRg In ThisWorkbook.ActiveSheet.Range("B2:B1000")
If xRg.Interior.ColorIndex = 24 Then
If rgDel Is Nothing Then
Set rgDel = xRg
Else
Set rgDel = Union(rgDel, xRg)
End If
End If
Next xRg
If Not rgDel Is Nothing Then rgDel.EntireRow.Delete
End Sub


Je vous laisse le fichier en pièce jointe.
 

Pièces jointes

  • vba test couleur.xlsm
    53.2 KB · Affichages: 9
Dernière édition:

alexandreexcel1996

XLDnaute Nouveau
En effet, indépendamment de la couleur (partons sur l'autre tableau et donc la couleur 24)

J'ai trouvé un code qui supprime toutes les cellules d'une couleurs, je voudrais pouvoir supprimer les 7 lignes qui suivent la cellule supprimé, je ne sais pas si c'est possible :

Voici mon code

Sub deleterow()

Dim xRg As Range, rgDel As Range
For Each xRg In ThisWorkbook.ActiveSheet.Range("B2:B1000")
If xRg.Interior.ColorIndex = 3 Then
If rgDel Is Nothing Then
Set rgDel = xRg
Else
Set rgDel = Union(rgDel, xRg)
End If
End If
Next xRg
If Not rgDel Is Nothing Then rgDel.EntireRow.Delete
End Sub

Pensez vous avoir une solution ?
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87