OVH Cloud OVH Cloud

Supprimer cellule avec écritures enCouleur Noire

4 réponses
Avatar
Vader
Bonjour,

Je cherche à supprimer toutes les lignes d'un onglet sous la condition
suivante :

- Si la cellule A(x) contient des écritures en Couleur Noire
- Supprimer toute la ligne

A votre avis c'est possible ? Et comment ...

Je sais coment faire pour tester chacque cellule de la colonne, mais j'ai
encore jamais bosser sur les couleurs de Cellule/Texte.

Merci d'avance,

Antoine

4 réponses

Avatar
Daniel
Bonjour.
Essaie la macro suivante :

Sub test()
For i = Range("A65536").End(xlUp).Row To 1 Step -1
Var = Cells(i, 1).Font.ColorIndex
If Cells(i, 1).Font.ColorIndex = 1 Or _
Cells(i, 1).Font.ColorIndex = -4105 Then
Cells(i, 1).EntireRow.Delete
End If
Next i
End Sub

Cordialement.
Daniel
"Vader" a écrit dans le message de news:

Bonjour,

Je cherche à supprimer toutes les lignes d'un onglet sous la condition
suivante :

- Si la cellule A(x) contient des écritures en Couleur Noire
- Supprimer toute la ligne

A votre avis c'est possible ? Et comment ...

Je sais coment faire pour tester chacque cellule de la colonne, mais j'ai
encore jamais bosser sur les couleurs de Cellule/Texte.

Merci d'avance,

Antoine


Avatar
Vader
Impect !

Simple, efficace !

Merci beaucoup Daniel.


Bonjour.
Essaie la macro suivante :

Sub test()
For i = Range("A65536").End(xlUp).Row To 1 Step -1
Var = Cells(i, 1).Font.ColorIndex
If Cells(i, 1).Font.ColorIndex = 1 Or _
Cells(i, 1).Font.ColorIndex = -4105 Then
Cells(i, 1).EntireRow.Delete
End If
Next i
End Sub

Cordialement.
Daniel
"Vader" a écrit dans le message de news:

Bonjour,

Je cherche à supprimer toutes les lignes d'un onglet sous la condition
suivante :

- Si la cellule A(x) contient des écritures en Couleur Noire
- Supprimer toute la ligne

A votre avis c'est possible ? Et comment ...

Je sais coment faire pour tester chacque cellule de la colonne, mais j'ai
encore jamais bosser sur les couleurs de Cellule/Texte.

Merci d'avance,

Antoine







Avatar
Michel Gaboly
Bonsoir,

Noir peut correspondre à 2 valeurs de ColorIndex, 1 ou xlAutomatic (con stante = à -4105-)

LigneMin et LigneMax permettent de déterminer les lignes utilisées da ns la feuille de calcul

La suppression de ligne se fait à partir de la dernière, ce qui simpl ifie grandement les choses : en partant de la
première un test serait nécessaire à chaque passage das la boucle. En effet après avoir testé la ligne n, si elle a été
conservée, il faut teser la ligne n + 1, tandis que si elle a été s upprimée, il faut tester à nouveau la ligne n
(ancienne ligne n-1, devenue n après suppression de la ligne qui la pré cédait).

Sub SuppNoir()
Dim LigneMin As Long, LigneMax As Long, i As Long
LigneMin = ActiveSheet.UsedRange.Row
LigneMax = ActiveSheet.UsedRange.Rows.Count + LigneMin
For i = LigneMax - 1 To LigneMin Step -1
With Range("A" & i)
If .Font.ColorIndex = 1 Or .Font.ColorIndex = xlAuto matic Then

If .Value <> "" Then .EntireRow.Delete
End If
End With
Next
End Sub

Bonjour,

Je cherche à supprimer toutes les lignes d'un onglet sous la conditio n
suivante :

- Si la cellule A(x) contient des écritures en Couleur Noire
- Supprimer toute la ligne

A votre avis c'est possible ? Et comment ...

Je sais coment faire pour tester chacque cellule de la colonne, mais j' ai
encore jamais bosser sur les couleurs de Cellule/Texte.

Merci d'avance,

Antoine



--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
Michel Gaboly
Bonsoir,

Noir peut correspondre à 2 valeurs de ColorIndex, 1 ou xlAutomatic ( constante = à -4105-)

LigneMin et LigneMax permettent de déterminer les lignes utilisé es dans la feuille de calcul

La suppression de ligne se fait à partir de la dernière, ce qui simplifie grandement les choses : en partant de la
première un test serait nécessaire à chaque passage das la boucle. En effet après avoir testé la ligne n, si elle a é té
conservée, il faut teser la ligne n + 1, tandis que si elle a é té supprimée, il faut tester à nouveau la ligne n
(ancienne ligne n-1, devenue n après suppression de la ligne qui la précédait).

Sub SuppNoir()
Dim LigneMin As Long, LigneMax As Long, i As Long
LigneMin = ActiveSheet.UsedRange.Row
LigneMax = ActiveSheet.UsedRange.Rows.Count + LigneMin
For i = LigneMax - 1 To LigneMin Step -1
With Range("A" & i)
If .Font.ColorIndex = 1 Or .Font.ColorIndex = xlAuto matic Then
If .Value <> "" Then .EntireRow.Delete
End If
End With
Next
End Sub
Bonjour,

Je cherche à supprimer toutes les lignes d'un onglet sous la condi tion
suivante :

- Si la cellule A(x) contient des écritures en Couleur Noire
- Supprimer toute la ligne

A votre avis c'est possible ? Et comment ...

Je sais coment faire pour tester chacque cellule de la colonne, mais j' ai
encore jamais bosser sur les couleurs de Cellule/Texte.

Merci d'avance,

Antoine



--
Cordialement,

Michel Gaboly
www.gaboly.com