Bonjour,
J'ai dû réaliser mes mises en forme conditionnelles avec VBA plutot qu'avec le menu consacré, pour différentes raisons.

j'ai des plages de mises en formes différentes, certaines se chevauchent, d'autres pas, mais en fonction de l'ordre avec lequel je mets mes conditions j'ai un message d'erreur : l'indice n'appartient pas à la sélection.
Pour info, j'ai fais attention à "La méthode Add renvoie une erreur si la cellule contient déjà 3 conditions." mentionné dans le tuto de SilkyRoad.

Je pense que mon problème vient de l'option "afficher les règles de mef pour" "Sélection actuelle" au lieu de "cette feuille de calcul".???
puisque cela fonctionne si je les fais avec le menu des mefC.

Voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
With Application.Union(Range("C3:AG23"), Range("C25:AG27"), Range("C29:AG148"))
    .FormatConditions.Delete
    .FormatConditions.Add Type:=xlExpression, Formula1:="=EQUIV(C$4;FERIES;0)>0"
    .FormatConditions(1).Interior.Color = RGB(128, 128, 128)
    .FormatConditions(1).StopIfTrue = False
End With
 With Range("C29:AG148")
    .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=$A$5"
    .FormatConditions(2).Borders(xlEdgeLeft).Color = -16777024
    .FormatConditions(2).StopIfTrue = False
End With
'... JUSQU A 15 INCLUS PAS DE PB
With Range("C29:AG148") 'CC
    .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=$A$22"
    .FormatConditions(15).Interior.Color = RGB(173, 248, 116)
    .FormatConditions(15).StopIfTrue = False
End With
'PAS MOYEN D AJOUTER CETTE CONDITION
With Range("C3:AG3")    'Toussaint P & T
    .FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
        Formula1:="=$AJ$7", Formula2:="=$AK$7"
    .FormatConditions(16).Interior.Pattern = xlGray8
    .FormatConditions(16).StopIfTrue = False
End With
J'ai essayé diverses façon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
With Application.Union(Range("C3:AG23"), Range("C25:AG27"), Range("C29:AG148"))
, ... puis de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
With Range("C29:AG148")
...,
les 2 à la suite fonctionnent bien

,... suivi de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
With Application.Union(Range("C3:AG23"), Range("C25:AG27"), Range("C29:AG148"))
ça fonctionne aussi,

mais
,... suivi de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
With Application.Union(Range("C3:AG23"), Range("C25:AG27"), Range("C29:AG148"))
, ... suivi de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
With Range("C29:AG148")
..., ça ne fonctionne pas
NI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
With Application.Union(Range("C3:AG23"), Range("C25:AG27"), Range("C29:AG148"))
, ... puis de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
With Range("C29:AG148")
..., suivi de
,...

Est-ce que quelqu'un peut m'aider svp.
Merci