Bonjour,
J'ai un problème de mise en forme conditionnelle sur Excel. Je veux mettre en place un jeu de quatre icônes sur la ligne du haut en fonction de la valeur contenue sur la ligne du dessous :
- flèche verte vert le haut si la valeur est supérieure à 1,02 fois celle du bas
- flèche jaune diagonale vers le haut si la valeur est supérieure à celle du bas mais moins que 1,02 fois
- trait jaune horizontal si la valeur est égale à celle du bas
- flèche rouge vers le bas si la valeur est inférieure à celle du bas
Voilà le code VBA que j'ai :
Sub MFC(Rng)
Application.CutCopyMode = False
Rng.FormatConditions.Delete
Rng.FormatConditions.AddIconSetCondition
Rng.FormatConditions(1).SetFirstPriority
With Rng.FormatConditions(1)
.ReverseOrder = False
.ShowIconOnly = False
.IconSet = ActiveWorkbook.IconSets(xl4Arrows)
End With
Rng.FormatConditions(1).IconCriteria(1).Icon = xlIconRedDownArrow
With Rng.FormatConditions(1).IconCriteria(2)
.Type = xlConditionValueFormula
.Value = "=" & Rng.Offset(1, 0).Address
.Operator = 7
.Icon = xlIconYellowDash
End With
With Rng.FormatConditions(1).IconCriteria(3)
.Type = xlConditionValueFormula
.Value = "=" & Rng.Offset(1, 0).Address
.Operator = 5
.Icon = xlIconYellowUpInclineArrow
End With
With Rng.FormatConditions(1).IconCriteria(4)
.Type = xlConditionValueFormula
.Value = "=1.02*" & Rng.Offset(1, 0).Address
.Operator = 5
.Icon = xlIconGreenUpArrow
End With
End Sub
Cela fonctionne très bien sauf lorsque j'ai une valeur négative qui est égale à celle du bas. La mise en forme me met systématiquement une flèche verte vers le haut à la place du trait jaune horizontal.
J'ai aussi essayé en appliquant manuellement cette mise en forme avec les mêmes critères et le problème est le même.
Savez-vous pourquoi ?
Merci d'avance,
Nathyouss