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:
par
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
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"
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
.... mais sans succès - ça ne fonctionne pas du tout.
Bref, votre aide me serait précieuse!
Merci d'avance!
Mon code:
et
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
(j'ai utilisé union pour pouvoir ajouter "all" dans ma listbox)
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT T_NewLaunches.[Client Name] FROM T_NewLaunches UNION SELECT "(All)" FROM T_NewLaunches
Partager