Bonjour,

Dans mon project j'utilise actuellement le code de ce site (http://www.tek-tips.com/faqs.cfm?fid=6099) afin de pouvoir faire une sélection multiple dans une listbox, les éléments sélectionnés servent ensuite de paramètres dans une requête.
Jusque la, pas de problème, ça fonctionne bien.

Le problème est que j'ai souhaité ajouté dans ma listbox la possibilité pour l'utilisateur de sélectionner (All) pour lui éviter de devoir sélectionner tous les éléments de la listbox (j'ai ajouté (all) via une requête union - je ne sais pas si c est la meilleur solution).

J'ai essayé de remplacer cette partie du code original:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    If lbo.ItemsSelected.Count = 0 Then
    IsSelectedVar = True 'return all if no items selected
par

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    If strListBoxName.Value = "(All)" Then
    IsSelectedVarClients = True 'return all if no items selected
Le but etant de dire au code VBA "Si l'utilisateur a sélectionné (All) tu peux considérer que c est comme si il avait tout sélectionner"

.... mais sans succès - ça ne fonctionne pas du tout.

Bref, votre aide me serait précieuse!

Merci d'avance!

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
Function IsSelectedVarClients( _
        strFormName As String, _
        strListBoxName As String, _
        varValue As Variant) _
            As Boolean
    'strFormName is the name of the form
    'strListBoxName is the name of the listbox
    'varValue is the field to check against the listbox
    Dim lbo As ListBox
    Dim item As Variant
    If IsNumeric(varValue) Then
        varValue = Trim(Str(varValue))
    End If
    Set lbo = Forms(strFormName)(strListBoxName)
     If strListBoxName.Value = "(All)" Then
    IsSelectedVarClients = True 'return all if no items selected
    Else
    For Each item In lbo.ItemsSelected
        If lbo.ItemData(item) = varValue Then
            IsSelectedVarClients = True
            Exit Function
        End If
    Next
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT T_NewLaunches.[Client Name] FROM T_NewLaunches UNION SELECT "(All)" FROM T_NewLaunches
(j'ai utilisé union pour pouvoir ajouter "all" dans ma listbox)