Mise en forme conditionelle - VBA

Lifend

XLDnaute Nouveau
Bonjour,

J'ai un problème à mettre en place une mise en forme conditionelle qui tourne sous VBA.

Voilà ce que je cherche à faire

1) Si une cellule de la colonne J est "Test1" alors peindre la ligne de la cellule en gris
2) Si une cellule de la colonne AO est "test2" alors peindre la ligne de la cellule en vert
Sachant que si sur une même ligne la colonne AO est "test2" et la colonne J est "test1" alors la ligne doit être peinte en gris.

Voilà le code que j'utilise :

Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
For i = 1 To 2000

If Cells(i, 41) = "ü" Then Range("A" & i & ":AO" & i).Interior.Color = 45059

If Cells(i, 10) = "En mémoire" Then Range("A" & i & ":AO" & i).Interior.Color = 5488
If Cells(i, 41) = "" Then Range("A" & i & "AO" & i).Interior.Color = xlNone
Next
End Sub


Ce code marche partiellement. Les couleurs des lignes changent bien quand une cellule prend la valeur de "test1" ou "test2". En revanche, si je supprime "test1" ou "test2", la ligne reste colorée.

Quelqu'un sait comment faire pour annuler la mise en forme conditionelle si je supprime le contenu de la cellule ?

Merci de votre aide !
 

JCGL

XLDnaute Barbatruc
Re : Mise en forme conditionelle - VBA

Bonjour à tous,

Bienvenue sur XLD

Peux-tu essayer ceci :

Code:
Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1:AO2000").Interior.Color = xlNone
For i = 1 To 2000
If Cells(i, 41) = "Test1" Then Range("A" & i & ":AO" & i).Interior.ColorIndex = 15
If Cells(i, 10) = "Test2" Then Range("A" & i & ":AO" & i).Interior.ColorIndex = 4
Next
End Sub

A+ à tous
 

Discussions similaires

Statistiques des forums

Discussions
312 168
Messages
2 085 907
Membres
103 029
dernier inscrit
ndembi sylver