Mise en forme conditionnel VBA avec une plage de cellule pouvant bouger

Bonjour à tous,

Je suis bloqué dans VBA pour faire appliquer une mise en forme conditionnelle à une plage de cellules pouvant bouger si quelqu'un rajoute une ligne.

Dans le code que j'ai fait je recherche une case de couleur bleu pour avoir la coordonné de la ligne de commencement de la mise en forme conditionnelle.
Je veux comparer les valeurs de cette ligne avec une ligne plus basse.

Or je n'arrive pas à avoir le bon argument en formule pour que celui descende si on ajoute une ligne au dessus de la case bleu:

- 1er cas : Formula1:="=c20" marche tant que je n'ajoute pas de ligne

- 2eme cas : Formula1:=cellule, cellule (étant le texte de la case en question calculer plus haut dans le code) ne marche pas car il garde les " " dans la case de mise en forme conditionnelle. Donc ne renvoi pas la valeur de la case.

Si quelqu'un peux m'aider, je mets le code en question ci dessous, je posterais un fichier ce soir car celui utiliser actuellement est confidentiel.

Merci Damien

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Dim j As Integer
Dim cellule As String
j = 1
Sheets("Feuil1").Select 'Recherche de la ligne en bleu
While ActiveSheet.Cells(j, 2).Interior.Color <> RGB(0, 255, 255)
    j = j + 1
Wend
cellule = Cells(j + 4, 3).Address(RowAbsolute:=False, ColumnAbsolute:=False)

With Range(Cells(j, 3), Cells(j + 1, 9999))
    .FormatConditions.Delete
    .FormatConditions.Add(Type:=xlCellValue, Operator:=xlLessEqual, Formula1:="=c20").Font.Color = RGB(0, 128, 0)
    .FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreater, Formula1:=cellule).Font.Color = RGB(255, 0, 0)

End With
End Sub

Bonjour Damien, Bienvenue sur le forum !

Essayez comme cela:

    .FormatConditions.Add(Type:=xlCellValue, Operator:=xlGreater, Formula1:="=" & cellule).Font.Color = RGB(255, 0, 0)

Je pense qu'il manque le "="

A tester donc,

A+

Merci gabin, effectivement ça marche mieux comme ça !

Rechercher des sujets similaires à "mise forme conditionnel vba plage pouvant bouger"