Mise en Forme Conditionnelle - VBA Excel - Couleur selon résultat cellule

gregcompta

XLDnaute Nouveau
Bonjour chers experts d'excel,

Je suis tout novice en programmation, avec trèsssss peu de base vba. mais j'aime la programmation :)

Pourriez vous m'indiquer svp comment définir la couleur d'une cellule, en passant par du vba, selon le résultat qui se trouve à l'intérieur d'elle même (mais pas que..) :
- si la cellule X = 0, alors en Vert;
- si la cellule X = 0 ET que la cellule Y = "x", alors en Blanc;
- si la cellule X < au montant total ttc, alors orange;
- si la cellule X = montant total ttc, alors en rouge.

Et s'il est possible que cela se fasse sans avoir besoin de cliquer sur quelconque bouton ???

UN GRAND MERCIIII :)
 

Pièces jointes

  • mise en forme conditionnelle vba.jpg
    mise en forme conditionnelle vba.jpg
    55.1 KB · Affichages: 109
  • test.xlsx
    21 KB · Affichages: 63
  • test.xlsx
    21 KB · Affichages: 62

Iznogood1

XLDnaute Impliqué
Re : Mise en Forme Conditionnelle - VBA Excel - Couleur selon résultat cellule

Bonjour,

Peux-tu préciser :
C'est quoi "X" (je suppose que c'est la cellule considérée) ?
C'est quoi "Y" (serait-ce le "total encaissé") ?
Pourquoi préférés-tu une solution VBA à une mise ne forme conditionnelle ?
Ta demande reflète-t-elle l'ordre d'évaluation des conditions (si X = 0 et X < au montant total TTC --> Vert et non orange)

Pour du VBA, un code du style :
Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect(Target, [A1:A50]) Is Nothing Then Exit Sub
  If Target.Value = 0 Then
    Target.Interior.Color = RGB(0, 255, 0)
  ElseIf Target.Value And Target.Offset(0, 1) = Target.Value Then
    Target.Interior.Color = RGB(255, 153, 0)
  'ElseIf ... Then ...
  End If
End Sub
 

Dranreb

XLDnaute Barbatruc
Re : Mise en Forme Conditionnelle - VBA Excel - Couleur selon résultat cellule

Bonjour.

Et pour metttre des MeFC en VBA au plus court :
VB:
Sub Macro1()
Dim Plg As Range
Set Plg = Range("I4:I7")
Plg.FormatConditions.Delete
Plg.FormatConditions.Add(Type:=xlExpression, Formula1:="=ET($I4=0;$J4="""")").Interior.Color = &HFF00&
Plg.FormatConditions.Add(Type:=xlExpression, Formula1:="=$I4=0").Interior.Color = &HFFFFFF
Plg.FormatConditions.Add(Type:=xlExpression, Formula1:="=$I4<$G4").Interior.Color = &HC0FF&
Plg.FormatConditions.Add(Type:=xlExpression, Formula1:="=VRAI").Interior.Color = &HFF&
End Sub
 

Discussions similaires

Réponses
4
Affichages
217

Statistiques des forums

Discussions
312 223
Messages
2 086 407
Membres
103 201
dernier inscrit
centrale vet