Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sélection par défaut dans contrôle "sélection multiple"

5 réponses
Avatar
Philou
Bonjour,

J'utilise avec bonheur un contrôle "sélection multiple" créé avec la
complicité de
http://officesystem.access.free.fr/ex_selection_multiple.htm

Cette procédure rejette systématiquement le traitement si aucun élément
n'est coché.

J'aimerai faire l'inverse, c'est-à-dire soit cocher _tous_ les éléments par
défaut, soit modifier le "on error", soit la requête.
Mais comme j'ai du mal à comprendre le cheminement de la procédure, je suis
obligé de demander de l'aide.

Merci d'avance.

Cordialement.

PG

5 réponses

Avatar
Raymond [mvp]
Bonjour.

si tu ne sélectionne pas de données, il faut toutes les prendre. tu crées
une variable RetourPrépare que tu charges avec la valeur de retour de
PrepareList. tu testes ensuite la valeur dans CompareList.
Public Function CompareList(ParameterValue As Variant) As Boolean
If Not RetourPrépare then
CompareList = True
Exit Function
End If
For Each varItm In Ctl.ItemsSelected
If CStr(ParameterValue) = Ctl.ItemData(varItm) Then
CompareList = True
Exit Function
End If
Next varItm
CompareList = False
End Function
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Philou" a écrit dans le message de news:
O$
Bonjour,

J'utilise avec bonheur un contrôle "sélection multiple" créé avec la
complicité de
http://officesystem.access.free.fr/ex_selection_multiple.htm

Cette procédure rejette systématiquement le traitement si aucun élément
n'est coché.

J'aimerai faire l'inverse, c'est-à-dire soit cocher _tous_ les éléments
par défaut, soit modifier le "on error", soit la requête.
Mais comme j'ai du mal à comprendre le cheminement de la procédure, je
suis obligé de demander de l'aide.

Merci d'avance.

Cordialement.

PG



Avatar
Philou
Tout particulièrement pour Raymond,

Suite à un petit incident, je n'ai pas pu lire ta réponse sur OE
Mais je l'ai trouvée par la communauté ...
Je tiens à te remercier pour ton attention. Je mettrai en oeuvre dès lundi.
Bon dimanche.

PG
Avatar
Philou
Bonjour

Raymond a bien voulu me donner une réponse. Que je ne sais pas exploiter :-(

[quote]
tu crées une variable RetourPrépare que tu charges avec la valeur de retour
de PrepareList.
tu testes ensuite la valeur dans CompareList.
[unquote]

Mais cette variable, je la mets où ?
J'ai essayé diverses solutions, mais je crois que je suis trop borné pour
comprendre les principes vba :-)

Merci d'avance.

PG
Avatar
Raymond [mvp]
Bonjour.

tu la déclares en haut de ton code :

Option Compare Database
Option Explicit

Dim Frm As Form
Dim Ctl As Control
Dim varItm As Variant
Dim RetourPrepare As Boolean

Public Function PrepareList(FormName As String, _
ControlName As String) As Boolean
On Error GoTo Err_PrepareList
Set Frm = Forms(FormName)
Set Ctl = Frm(ControlName)
If Ctl.ItemsSelected.Count = 0 Then GoTo Err_PrepareList
PrepareList = True
RetourPrepare = PrepareList
Exit Function
Err_PrepareList:
PrepareList = False
RetourPrepare = PrepareList
End Function

Public Function CompareList(ParameterValue As Variant) As Boolean
If Not RetourPrepare Then
CompareList = True
Exit Function
End If
For Each varItm In Ctl.ItemsSelected
If CStr(ParameterValue) = Ctl.ItemData(varItm) Then
CompareList = True
Exit Function
End If
Next varItm
CompareList = False
End Function



--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Philou" a écrit dans le message de news:

Bonjour

Raymond a bien voulu me donner une réponse. Que je ne sais pas exploiter
:-(

[quote]
tu crées une variable RetourPrépare que tu charges avec la valeur de
retour de PrepareList.
tu testes ensuite la valeur dans CompareList.
[unquote]

Mais cette variable, je la mets où ?
J'ai essayé diverses solutions, mais je crois que je suis trop borné pour
comprendre les principes vba :-)

Merci d'avance.

PG



Avatar
Philou
Merci Raymond pour cette réponse rapide et efficace.
Mise en oeuvre dès réception, avec succès.
Bonne continuation.

PG