Bonjour,

J'utilise frequemment des systemes qui vont me cocher des cases dans mes formulaires.

Ma demarche est de construire une fonction qui cochera.

1°/ Creer des constantes avec les noms de mes controles et formulaires. Quand j'appel ma fonction setConst(), ca me retournera donc la valeur stockées en constante

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
Option Explicit
 
'Constantes
 
'FORMULAIRES
    'TRANSACTION
    Public Const SAVE As String = "[Forms]![2Transactions]![2Transactions_SF].[Form]![SAVE]"
    Public Const SAVE2 As String = "[Forms]![2Transactions]![2Transactions_SF].[Form]![SAVE2]"
 
 
 
Public Function setConst(id As String) As Variant
 
    Select Case id
 
        'FORMULAIRES
            'TRANSACTION
 
        Case "SAVE"
            setConst = SAVE
        Case "SAVE2"
            setConst = SAVE2
 
    End Select
 
 
End Function
2°/un Sub qui a pour but de cocher l'élément (cest la que ca foire)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Public Sub Coche(id As String, Action As Boolean)
 
Dim vControle As Variant
 
    vControle = setConst(id) 'je recupere le nom du controle
 
    vControle = Action ' je lui affecte true ou false
 
End Sub

3°/ J'appel mon sub


Je n'ai pas d'erreur mais il ne se passe rien.

Je pense qu'il se contruit bien ce que que je souhaite dans le code:

la finalité étant d'avoir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
[Forms]![2Transactions]![2Transactions_SF].[Form]![SAVE] = True
Mais il ne doit pas voir le nom du controle comme du code, mais comme un string, enfin je sais pas trop, ou sinon il affecte à vControle le string du controle puis derriere il lui affecte true, mais il ne retourne pas la commande à exectuer, j'ai essayer des set et return, mais je ne maitrise pas.

MErci encore