Bonjour à vous tous,
Je sollicite votre aide car mon code ne fonctionne pas du tout et en plus il me semble qu'il y aurait une façon plus simple d'y arriver.
Ce que je cherche à faire, je le fais déjà avec mise en forme conditionnelle, mais je suis rendu déjà rendu à 4 choix de couleur.
si(a1)=1;mettre(A1:A3)de tel couleur;si(a1)=2;mettre(A1:A3)de tel couleur;..etc.
J'ai dans mon tableau 17 casé qui peut changer de valeur et ceux-ci provient d'une autre feuille ça risque d'être d'une longueur excessif.
Voici le code que j'ai pensé mais comme je vous dis il ne fonctionne pas correctement.
Merci de votre aide.
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
37
38
39
40 Sub worksheet_change(ByVal target As Range) If Not Intersect(target, Range("a1")) Is Nothing Then On Error Resume Next If Worksheets(1).Range.Value("a1") = "Vac" _ Then Worksheets(1).Range("a1:a3").Interior.ColorIndex = 1 If Worksheets(1).Range.Value("a1") = "For" _ Then Worksheets(1).Range("a1:a3").Interior.ColorIndex = 2 If Worksheets(1).Range.Value("a1") = "Pre" _ Then Worksheets(1).Range("a1:a3").Interior.ColorIndex = 3 If Worksheets(1).Range.Value("a1") = "Mal" _ Then Worksheets(1).Range("a1:a3").Interior.ColorIndex = 4 ElseIf Not Intersect(target, Range("b1")) Is Nothing Then If Worksheets(1).Range.Value("b1") = "Vac" _ Then Worksheets(1).Range("b1:b3").Interior.ColorIndex = 1 If Worksheets(1).Range.Value("b1") = "For" _ Then Worksheets(1).Range("b1:b3").Interior.ColorIndex = 2 If Worksheets(1).Range.Value("b1") = "Pre" _ Then Worksheets(1).Range("b1:b3").Interior.ColorIndex = 3 If Worksheets(1).Range.Value("b1") = "Mal" _ Then Worksheets(1).Range("b1:b3").Interior.ColorIndex = 4 ElseIf Not Intersect(target, Range("c1")) Is Nothing Then If Worksheets(1).Range.Value("c1") = "Vac" _ Then Worksheets(1).Range("c1:c3").Interior.ColorIndex = 1 If Worksheets(1).Range.Value("c1") = "For" _ Then Worksheets(1).Range("c1:c3").Interior.ColorIndex = 2 If Worksheets(1).Range.Value("c1") = "Pre" _ Then Worksheets(1).Range("c1:c3").Interior.ColorIndex = 3 If Worksheets(1).Range.Value("c1") = "Mal" _ Then Worksheets(1).Range("c1:c3").Interior.ColorIndex = 4 ElseIf Not Intersect(target, Range("d1")) Is Nothing Then If Worksheets(1).Range.Value("d1") = "Vac" _ Then Worksheets(1).Range("d1:d3").Interior.ColorIndex = 1 If Worksheets(1).Range.Value("d1") = "For" _ Then Worksheets(1).Range("d1:d3").Interior.ColorIndex = 2 If Worksheets(1).Range.Value("d1") = "Pre" _ Then Worksheets(1).Range("d1:d3").Interior.ColorIndex = 3 If Worksheets(1).Range.Value("d1") = "Mal" _ Then Worksheets(1).Range("d1:d3").Interior.ColorIndex = 4 End If End Sub
Partager