Bonjour,

Je viens de me créer un évènement privé avec des Target conditionnels. Seulement, je ne veux pas être obligé de faire trop de IF et ElseIF dans mon code. C'est pourquoi j'ai pensé à la fonction Select Case. Seulement, je ne comprends pas pourquoi elle ne fonctionne pas dans mon cas.

Voici mon code jusqu'à maintenant
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
41
42
43
Private Sub Worksheet_Change(ByVal Target As Range)
'Modification automatique de la formule
 
 
'Si je change une donnée dans la colonne C
If Not Application.Intersect(Target, Me.Range("C4:C443")) Is Nothing Then
Application.ScreenUpdating = False
 
Select Case Target
 
Case Me.Range("C9:C68")
Case Else
 
Target.Offset(0, 1).Value = "=IF(RC[-1]="""","""",IF(RC[-1]=""OFF"",""OFF"",IF(ISERR((RC[-1]*24+RC[2])/24),""OFF"",IF(RC[-1]>=R3C38,((RC[-1]*24-(24-RC[2]))/24),(RC[-1]*24+RC[2])/24))))"
 
    Target.Offset(0, 1).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
 
 
Target.Offset(0, 4).Value = "=IF(RC[-4]>=R3C40,RC[-1],IF(AND(RC[-1]<=12,RC[-1]>=5.5),(IF(AND(VLOOKUP(RC[-5],'Préférences Horaires'!R3C2:R58C4,2,FALSE)=""X"",RC[-1]>=5.5),RC[-1]-0.5,IF(AND(VLOOKUP(RC[-5],'Préférences Horaires'!R3C2:R58C4,3,FALSE)=""X"",RC[-1]>=5.5),RC[-1]-1,RC[-1]))),IF(AND(RC[-5]="""",RC[-4]=""""),"""",IF(RC[-1]<5.5,RC[-1],IF(RC[-1]="""","""",IF(RC[-1]>12,""-""))))))"
    Target.Offset(0, 4).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
 
Target.Offset(0, 2).Value = "=IF(RC[-1]=""OFF"",RC[-2],IF(RC[-2]="""","""",TEXT(RC[-2],""h:mm"")&""-""&TEXT(RC[-1],""h:mm"")))"
    Target.Offset(0, 2).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
 
Target.Select
End Select
 
 
Application.ScreenUpdating = True
End If
end sub
Merci de votre aide!