Comment supprimer des lignes en fonction de la couleur d'arrière-plan dans Excel ?
Comment pourriez-vous supprimer des lignes entières en fonction de la couleur d'arrière-plan ? Dans cet exemple, je dois supprimer toutes les lignes dont les cellules sont remplies avec une couleur d'arrière-plan bleue, comme le montre la capture d'écran suivante. Avec cet article, vous obtiendrez quelques codes pour accomplir cette tâche dans Excel.
Supprimer des lignes avec une couleur d'arrière-plan spécifique basée sur chaque cellule
Supprimer des lignes avec une couleur d'arrière-plan spécifique basée sur une colonne
Supprimer des lignes avec une couleur d'arrière-plan spécifique basée sur chaque cellule
Si vous avez une plage de données remplie de couleurs de cellules attribuées aléatoirement, et que vous devez supprimer les lignes dont la couleur de cellule est bleue, comme le montre la capture d'écran suivante :
Pour supprimer ce type de lignes, vous pouvez utiliser le code VBA suivant, veuillez procéder comme suit :
1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.
Code VBA : Supprimer les lignes dont les cellules contiennent une couleur de remplissage spécifique :
Sub DeleteRows()
'Updateby Extendoffice
Dim rngCl As Range
Dim xRows As Long
Dim xCol As Long
Dim colorLg As Long
On Error Resume Next
Set rngCl = Application.InputBox _
(Prompt:="Select a cell with the background color to be deleted", _
Title:="Kutools for Excel", Type:=8)
On Error GoTo 0
If rngCl Is Nothing Then
MsgBox "User cancelled operation." & vbCrLf & _
"Processing terminated", vbInformation, "Kutools for Excel"
Exit Sub
End If
colorLg = rngCl.Interior.Color
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
For xRows = .Rows.Count To 1 Step -1
For xCol = 1 To .Columns.Count
If .Cells(xRows, xCol).Interior.Color = colorLg Then
.Rows(xRows).Delete
Exit For
End If
Next xCol
Next xRows
End With
Application.ScreenUpdating = True
End Sub
3. Appuyez ensuite sur la touche F5 pour exécuter ce code, et une boîte de dialogue apparaîtra pour vous rappeler de sélectionner une cellule avec la couleur de remplissage que vous souhaitez supprimer, voir capture d'écran :
4. Cliquez ensuite sur OK, et toutes les lignes ont été supprimées si la cellule possède une couleur de remplissage spécifique.
Supprimer des lignes avec une couleur d'arrière-plan spécifique basée sur une colonne
Si vous souhaitez supprimer les lignes avec une couleur spécifique en vous basant uniquement sur une seule colonne, par exemple, supprimez les lignes avec la couleur bleue dans la colonne A et obtenez la capture d'écran ci-dessous, voici également un code VBA qui peut vous aider.
1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.
Code VBA : Supprimer des lignes en fonction d'une colonne dont les cellules ont une couleur de remplissage spécifique :
Sub deleterow()
'UpdateBY Extendoffice
Dim xRg As Range, rgDel As Range
For Each xRg In ThisWorkbook.ActiveSheet.Range("A2:A21")
If xRg.Interior.ColorIndex = 20 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
Remarque : Dans le code ci-dessus, A2:A21 est la colonne qui contient la couleur de remplissage spécifique en fonction de laquelle vous souhaitez supprimer les lignes, le chiffre 20 dans ColorIndex = 20 correspond à l'index de couleur en fonction duquel vous souhaitez supprimer les lignes. Vous pouvez les modifier selon vos besoins.
3. Appuyez ensuite sur la touche F5 pour exécuter ce code, et toutes les lignes dont les cellules contiennent la couleur bleue dans la colonne A seront immédiatement supprimées.
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !