Bonjour,
je suis confrontée un probleme quand j'essaye d'automatiser des mises en formes conditionnelle.
J'utilise le meme modele de code plusieurs fois, ca marche comme attendu les 3 premieres fois alors que les mises en formes suivantes s'ajoute dans la liste, mais sans la condition de couleur
Au niveau code, ca ressemble à ca
l correspond aux nombre de ligne de la plage et est alimenté précédent
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
25
26
27
28
29
30
31
32
33
34
35
36 'série de mise en forme conditionnel pour mettre en valeur le probleme 'colorier les doublons Range("E1:E" & l).FormatConditions.Add Type:=xlExpression, Formula1:="=LEN(SUBSTITUTE($C1;""doublon"";""""))<>LEN($C1)" With Range("E1:E" & l).FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 13421823 .TintAndShade = 0 End With 'colorier les problemes achats Range("h1:h" & l).FormatConditions.Add Type:=xlExpression, Formula1:="=LEN(SUBSTITUTE($C1;""achat"";""""))<>LEN($C1)" With Range("h1:h" & l).FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 13421823 .TintAndShade = 0 End With 'colorier les problemes ventes Range("i1:i" & l).FormatConditions.Add Type:=xlExpression, Formula1:="=LEN(SUBSTITUTE($C1;""vente"";""""))<>LEN($C1)" With Range("i1:i" & l).FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 13421823 .TintAndShade = 0 End With 'colorier les problemes de famille Range("j1:j" & l).FormatConditions.Add Type:=xlExpression, Formula1:="=LEN(SUBSTITUTE($C1;"" famille"";""""))<>LEN($C1)" With Range("i1:i" & l).FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 13421823 .TintAndShade = 0 End With 'colorier les problemes de sous-famille Range("k1:k" & l).FormatConditions.Add Type:=xlExpression, Formula1:="=LEN(SUBSTITUTE($C1;""sous-famille"";""""))<>LEN($C1)" With Range("i1:i" & l).FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 13421823 .TintAndShade = 0 End With
L'idée général est que j'ai dans ma colonne C l'explication du probleme et que pour simplifier la vie a l'utilisateur humain, je met en couleur la colonne correspondante pour cette ligne la (cette page est générée par macro, donc je suis sure que les formulations pour le probleme ne vont pas changer)
Le code est copié collé d'une condition a l'autre, je change juste la chaine de caratere qui sert de test et la plage
Et la, a ma grande surprise, ca définit bien 5 plages, mais ne met une couleur de fond que pour les 3 premieres
Où est l'astuce?
Si on en veut plus de 3 il faut écrire un autre code?
Merci d'avance![]()
Partager