Bonjour,
j'ai un formulaire avec un sous-formulaire en mode Feuille de données.
dans mon formulaire, j'ai des cases à cocher.
je voudrais qu'en fonction des cases cochées ça me masque / affiche une colonne du sous formulaire.
donc, j'ai fait une jolie petite fonction, et pour éviter les répétitions, j'ai fait un select case et tout et tout.
bon, je vous montre, c'est le plus simple:bon voilà, en fait, je voulais dans ma 2e fonction stocker l'adresse de mon sous formulaire, concaténer le nom de la colonne que je trouve avec la fonction précédente (dans mon select), puis après concaténer avec la propriété ColumnHidden.
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 'pour appeler la fonction: après la coche/décoche de ma case: Private Sub cgpr_AfterUpdate() Call Display_Hide_Columns(Me.cgpr.name) End Sub 'la fonction (incomplète) Function Display_Hide_Columns(name As String) Select Case (name) Case "cgpr": Call disp_hide("Modifiable44") '.... 'l'autre fonction Function disp_hide(column As String) Dim str As String str = "[Forms]![f_liste_uo]![F_Liste_UO_sf].Form." & column & ".ColumnHidden =" If str = True Then str = False Else str = True End If End Function
comme ça après j'avais juste à tester le true ou le false.
....sauf que VBA n'a pas l'air d'apprécier.
c'était astucieux pourtant non ?
.......bon, c'est pas le tout de m'envoyer des fleurs, mais.... vous avez une solution pour faire quelque chose de clair et joli ?
(bon, sinon je peux le faire sans fonction ni rien mais ça sera pas joli du tout, et puis si jamais mon formulaire change de nom, il ne sera pas facile de mettre le code à jour....)
Partager