Bonsoir,

Je cherche depuis quelque temps à créer un formulaire (usrfrm) avec un grand nombre de checkbox (une bonne centaine).

Chaque checkbox est sensée, quand elle est cochée, renvoyer une valeur qui lui est spécifique dans une cellule excel (colonne X, ligne 2 jusqu'à 1000) qui comprendras au final la totalité des valeurs de l’ensemble des checkbox (séparées les une des autres par des virgules).

Or avec le code que j'ai bidouillé je n'obtient pas l'effet voulu:
Lorsque je dé-sélectionne une checkbox, l'enssemble des valeurs contenues dans la cellule cible (X2) disparaissent alors que seulement la valeur spécifique à cette checkbox devrais être effacée.

J'ai donc essayer de contourner le problème en utilisant des variables mais sans grand succès...

Voici mon code, pour 2 checkbox.

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
 
 
Private Sub CheckBox1_Click()
 
 
If CheckBox1.Value = True Then
Dim Variable_1D As String
Variable_1D = Range("X2")
Range("X2").Value = Variable_1D & "2339, "
 
End If
 
If CheckBox1.Value = False Then
Range("X2").Value = Variable_1D
 
End If
 
Dim Variable_1F
Variable_1F = Range("X2")
 
Msg = Variable_1F
 
End Sub
 
 
Private Sub CheckBox2_Click()
 
 
If CheckBox2.Value = True Then
Range("X2").Value = Variable_1F & "2340, "
 
End If
 
If CheckBox2.Value = False Then
Range("X2").Value = Variable_1F
 
End If
 
Dim Variable_2F
Variable_2F = Range("X2")
 
End Sub
Mes connaissances en VB étant comme vous pouvez le voir très limitées, voire quasi inexistantes, toute aide me serait grandement utile.

Merci par avance : ).

.