XL 2016 mise en forme conditionnelle par vba

neim

XLDnaute Junior
Bonjour,

J essai d'imbriquer 3 mfc en 1 mais ca ne fonctionne pas :

la 1ere fonctionne avec la deuxieme ou la troisieme mais impossible de faire fonctionner les 3 ensemble.

Auriez vous une idée du pourquoi ?

Cordialement

'1ere mise en forme conditionnelle :

With ft.Range("D6:D100") 'Sélection des plages où doit s'appliquer la MeF
'Ajoute une condition (Vrai lorsque la cellule est non vide)
.FormatConditions.Add Type:=xlExpression, Formula1:="=$D6=""1"""
.FormatConditions.Add Type:=xlExpression, Formula1:="=$D6=""2"""
.FormatConditions.Add Type:=xlExpression, Formula1:="=$D6=""3"""
.FormatConditions.Add Type:=xlExpression, Formula1:="=$D6=""4"""
.FormatConditions.Add Type:=xlExpression, Formula1:="=$D6=""5"""
.FormatConditions.Add Type:=xlExpression, Formula1:="=$D6=""6"""
.FormatConditions.Add Type:=xlExpression, Formula1:="=$D6=""7"""

With .FormatConditions(1)
'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
.Interior.Color = RGB(255, 80, 80) '.Interior.ColorIndex = 15 'Gris
End With
With .FormatConditions(2)
.Interior.Color = RGB(224, 255, 64)
End With
With .FormatConditions(3)
.Interior.Color = RGB(192, 192, 192)
End With
With .FormatConditions(4)
.Interior.Color = RGB(51, 255, 212)
End With
With .FormatConditions(5)
.Interior.Color = RGB(119, 255, 51)
End With
With .FormatConditions(6)
.Interior.Color = RGB(51, 255, 85)
End With
With .FormatConditions(7)
.Interior.Color = RGB(255, 153, 255)
End With

'2eme mise en forme conditionnelle :

With ft.Range("A6:R" & derLn) 'Sélection des plages où doit s'appliquer la MeF
'Ajoute une condition (Vrai lorsque la cellule est non vide)
.FormatConditions.Add Type:=xlExpression, Formula1:="=$D6<>"""""

With .FormatConditions(8)
'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
With .Borders(xlTop)
.LineStyle = xlContinuous
.TintAndShade = 0
.Weight = xlThin
End With
With .Borders(xlBottom)
.LineStyle = xlContinuous
.TintAndShade = 0
.Weight = xlThin
End With

'3eme mise en forme conditionnelle :

With ft.Range("A3:C100,E3:F100") 'Sélection des plages où doit s'appliquer la MeF
'Ajoute une condition (Vrai lorsque la cellule est non vide)
.FormatConditions.Add Type:=xlExpression, Formula1:="=$G3=""équipe après-midi"""
.FormatConditions.Add Type:=xlExpression, Formula1:="=$G3=""équipe matin"""

With .FormatConditions(1)
'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
.Interior.Color = RGB(255, 229, 204) '.Interior.ColorIndex = 15 'Gris
End With
With .FormatConditions(2)
.Interior.Color = RGB(229, 255, 204)
End With

End With
End With
End With
End With
 

fanch55

XLDnaute Barbatruc
Bonjour, A tester
VB:
Sub test()
Dim ft As Worksheet
    Set ft = ActiveSheet
With ft
    .Cells.FormatConditions.Delete

    '1ere mise en forme conditionnelle :
    With .Range("D6:D100") 'Sélection des plages où doit s'appliquer la MeF
    'Ajoute une condition (Vrai lorsque la cellule est non vide)
        With .FormatConditions.Add(Type:=xlExpression, Formula1:="=$D6=""1""")
            .Interior.Color = RGB(255, 80, 80)
            .StopIfTrue = False
        End With
        With .FormatConditions.Add(Type:=xlExpression, Formula1:="=$D6=""2""")
            .Interior.Color = RGB(224, 255, 64)
            .StopIfTrue = False
        End With
        With .FormatConditions.Add(Type:=xlExpression, Formula1:="=$D6=""3""")
            .Interior.Color = RGB(192, 192, 192)
            .StopIfTrue = False
        End With
        With .FormatConditions.Add(Type:=xlExpression, Formula1:="=$D6=""4""")
            .Interior.Color = RGB(51, 255, 212)
            .StopIfTrue = False
        End With
        With .FormatConditions.Add(Type:=xlExpression, Formula1:="=$D6=""5""")
            .Interior.Color = RGB(119, 255, 51)
            .StopIfTrue = False
        End With
        With .FormatConditions.Add(Type:=xlExpression, Formula1:="=$D6=""6""")
            .Interior.Color = RGB(51, 255, 85)
            .StopIfTrue = False
        End With
        With .FormatConditions.Add(Type:=xlExpression, Formula1:="=$D6=""7""")
            .Interior.Color = RGB(255, 153, 255)
            .StopIfTrue = False
        End With
    End With

    '2eme mise en forme conditionnelle :
    derln = 100
    With .Range("A6:R" & derln) 'Sélection des plages où doit s'appliquer la MeF
    'Ajoute une condition (Vrai lorsque la cellule est non vide)
        With .FormatConditions.Add(Type:=xlExpression, Formula1:="=$D6<>""""")
            .StopIfTrue = False
            With .Borders(xlTop)
                .LineStyle = xlContinuous
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With .Borders(xlBottom)
                .LineStyle = xlContinuous
                .TintAndShade = 0
                .Weight = xlThin
            End With
        End With
    End With
    
    '3eme mise en forme conditionnelle :
    With .Range("A3:C100,E3:F100") 'Sélection des plages où doit s'appliquer la MeF
    'Ajoute une condition (Vrai lorsque la cellule est non vide)
        With .FormatConditions.Add(Type:=xlExpression, Formula1:="=$G3=""équipe après-midi""")
            .Interior.Color = RGB(255, 229, 204) '.Interior.ColorIndex = 15 'Gris
            .StopIfTrue = False
        End With
        With .FormatConditions.Add(Type:=xlExpression, Formula1:="=$G3=""équipe matin""")
            .Interior.Color = RGB(229, 255, 204)
            .StopIfTrue = False
        End With
    End With

End With
End Sub
 

Discussions similaires

Réponses
2
Affichages
817

Statistiques des forums

Discussions
315 096
Messages
2 116 183
Membres
112 677
dernier inscrit
Justine11