Bonjour à tous,

Voilà j'ai un petit soucis sur un un code (celuici pour mon travail), dans mon useform qui me prend un peut de place et que j'essaye donc de simplifier...

Code d'origine dans l'useform, et qui fonctionne :

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
 
' Commande ToggleButton
'======================
Private Sub ToggleButton1_Click()
'valeur de la résistance de l'armoire TA1
RTA1 = "0,0090"
 
If ToggleButton1.Value = True Then
ToggleButton2.Value = False
ToggleButton3.Value = False
ToggleButton4.Value = False
ToggleButton5.Value = False
ToggleButton6.Value = False
Label14 = "TA1"
Label16 = RTA1
Label21 = RTA1
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
 
ElseIf ToggleButton1.Value = False Then
Label14 = ""
Label16 = "0"
Label21 = "0"
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
End If
End Sub
Private Sub ToggleButton2_Click()
'valeur de la résistance de l'armoire TA2
RTA2 = "0,0041"
 
If ToggleButton2.Value = True Then
ToggleButton1.Value = False
ToggleButton3.Value = False
ToggleButton4.Value = False
ToggleButton5.Value = False
ToggleButton6.Value = False
Label14 = "TA2"
Label16 = RTA2
Label21 = RTA2
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
 
ElseIf ToggleButton2.Value = False Then
Label14 = ""
Label16 = "0"
Label21 = "0"
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
End If
End Sub
Private Sub ToggleButton3_Click()
'valeur de la résistance de l'armoire TA3
RTA3 = "0,0012"
 
If ToggleButton3.Value = True Then
ToggleButton1.Value = False
ToggleButton2.Value = False
ToggleButton4.Value = False
ToggleButton5.Value = False
ToggleButton6.Value = False
Label14 = "TA3"
Label16 = RTA3
Label21 = RTA3
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
 
ElseIf ToggleButton3.Value = False Then
Label14 = ""
Label16 = "0"
Label21 = "0"
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
End If
End Sub
Private Sub ToggleButton4_Click()
'valeur de la résistance de l'armoire TA4
RTA4 = "0,0050"
 
If ToggleButton6.Value = True Then
ToggleButton1.Value = False
ToggleButton2.Value = False
ToggleButton3.Value = False
ToggleButton5.Value = False
ToggleButton6.Value = False
Label14 = "TA4"
Label16 = RTA4
Label21 = RTA4
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
 
ElseIf ToggleButton4.Value = False Then
Label14 = ""
Label16 = "0"
Label21 = "0"
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
End If
End Sub
Private Sub ToggleButton5_Click()
'valeur de la résistance de l'armoire TA5
RTA5 = "0,0025"
If ToggleButton5.Value = True Then
ToggleButton1.Value = False
ToggleButton2.Value = False
ToggleButton3.Value = False
ToggleButton4.Value = False
ToggleButton6.Value = False
Label14 = "TA5"
Label16 = RTA5
Label21 = RTA5
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
 
ElseIf ToggleButton5.Value = False Then
Label14 = ""
Label16 = "0"
Label21 = "0"
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
End If
End Sub
Private Sub ToggleButton6_Click()
'valeur de la résistance de l'armoire TA6
RTA6 = "0,0016"
 
If ToggleButton6.Value = True Then
ToggleButton1.Value = False
ToggleButton2.Value = False
ToggleButton3.Value = False
ToggleButton4.Value = False
ToggleButton5.Value = False
Label14 = "TA6"
Label16 = RTA6
Label21 = RTA6
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
 
ElseIf ToggleButton6.Value = False Then
Label14 = ""
Label16 = "0"
Label21 = "0"
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
End If
End Sub
Et voici donc le code de remplacement dans l'useform :

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
 
Private Sub ToggleButton1_Click()
BParmoire 1, "0,01"
End Sub
Private Sub ToggleButton2_Click()
BParmoire 2, "0,02"
End Sub
Private Sub ToggleButton3_Click()
BParmoire 3, "0,03"
End Sub
Private Sub ToggleButton4_Click()
BParmoire 4, "0,04"
End Sub
Private Sub ToggleButton5_Click()
BParmoire 5, "0,05"
End Sub
Private Sub ToggleButton6_Click()
BParmoire 6, "0,06"
End Sub
Et voici le sub que je fais appel situé dans un module :

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
 
Sub BParmoire(indice, résistance)
Dim RTA1, RTA2, RTA3, RTA4, RTA5, RTA6 As String
 
If ToggleButton & indice = True Then GoTo suite
UserForm1.Label14 = ""
UserForm1.Label16 = "0"
UserForm1.Label21 = "0"
GoTo Fin
 
suite:
 
UserForm1.Label14 = "TA" & indice
UserForm1.Label16 = résistance
UserForm1.Label21 = résistance
 
For i = 1 To indice - 1
"ToggleButton" & i & ".value" = False
Next i
 
For j = indice + 1 To 6
"ToggleButton" & j & ".Value" = False
Next j
 
Fin:
'calcul de la résistance total des câbles pour une phase
Valeurrésistancetotalpourunephase
End Sub
Mon soucis c'est que dans le code original, lorsque je clic sur un togglebutton, il devien True et les autres False. mais je n'arrive pas à faire la même chose en simplifiant le code...

je ne sais pas si mes explications sont assez claire

Je vous remercie d'avance pour votre aide.