Bonjour à tous,

Je suis sur un problème que je n'arrive pas à solutionner.
J'utilise une checkbox pour sélectionner / déselectionner toute une listbox.

Cependant je veux lorsque je déselectionne dans ma listbox une donnée que la checkbox se désélectionne et inversement si je sélectionne toutes mes données de ma listbox que la checkbox se sélectionne.

Et c'est la que ça bloque. J'ai mis un Sub sur un Click pour la checkbox et sur un Change pour la Listbox. Mais lorsque je change la valeur de la checkbox par le code, il considère que c'est un click.

Avez vous une solution ?

Voici mon code :
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
 
Dim update_Valeur as Boolean
Private Sub CB_SELECTION_Click()
    Dim i As Integer
 
    update_Value = True
    LB_OPTION_Change
 
End Sub
 
 
 
Private Sub LB_OPTION_Change()
    Dim i As Integer
    Dim tout As Boolean
 
    If update_Value = True Then
        If CB_SELECTION.Value = True Then
            For i = 0 To LB_OPTION.ListCount - 1
                If LB_OPTION.Selected(i) = False Then
                    LB_OPTION.Selected(i) = True
                End If
            Next i
        Else
            For i = 0 To LB_OPTION.ListCount - 1
                If LB_OPTION.Selected(i) = True Then
                    LB_OPTION.Selected(i) = False
                End If
            Next i
        End If
    Else
        update_Value = False
        tout = True
        For i = 0 To LB_OPTION.ListCount - 1
            If LB_OPTION.Selected(i) = False Then
                tout = False
            End If
        Next i
        If tout = False Then
            CB_SELECTION.Value = False
        Else
            CB_SELECTION.Value = True
        End If
    End If
End Sub