J'ai ce code qui fonctionne bien, il met un trait-union en D si C est pas vide, mais il est trop long comment faire une boucle?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Private Sub Worksheet_Change(ByVal Target As Range) ' ' '1ER EMPLOYÉ TEMPS PLEIN ' ' If Not Application.Intersect(Target, Range("c7")) Is Nothing Then Call C7 End If If Not Application.Intersect(Target, Range("c9")) Is Nothing Then Call c9 End If If Not Application.Intersect(Target, Range("c10")) Is Nothing Then Call C10 End If If Not Application.Intersect(Target, Range("f7")) Is Nothing Then Call f7 End If If Not Application.Intersect(Target, Range("f9")) Is Nothing Then Call f9 End If If Not Application.Intersect(Target, Range("f10")) Is Nothing Then Call f10 End If
le tout continu jusqu'en AU et ensuite je recommence pour le groupe de cellules (c11/d11 c13/d13) (f11/g11 f13/g13) etc. p.s. le premier groupe est spécial, il contient 3 cellules différentes! le reste n'en contient que 2Code:
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
41
42 Sub C7() If Not IsEmpty(Range("c7")) Then Range("d7") = "-" Else Range("d7") = "" End If End Sub Sub c9() If Not IsEmpty(Range("c9")) Then Range("d9") = "-" Else Range("d9") = "" End If End Sub Sub C10() If Not IsEmpty(Range("c10")) Then Range("d10") = "-" Else Range("d10") = "" End If End Sub Sub f7() If Not IsEmpty(Range("f7")) Then Range("g7") = "-" Else Range("g7") = "" End If End Sub Sub f9() If Not IsEmpty(Range("f9")) Then Range("g9") = "-" Else Range("g9") = "" End If End Sub Sub f10() If Not IsEmpty(Range("f10")) Then Range("g10") = "-" Else Range("g10") = "" End If End Sub