Bonjour,
habituellement je n'ai pas de problème pour accéder aux contrôles d'un sous formulaire, mais là, je bute sur la syntaxe.
J'ai créé une procédure externe pour traduire les libellés d'un formulaire quelconque en différentes langues (les textes sont stockés en table).
Le nom de mon formulaire est donc une variable. De même, je ne suis pas certain de la présence d'un sous-formulaire dans le formulaire, encore moins de son nom.
Voilà mon code (version simplifiée, j'ai laissé de coté tous les traitements)
Je bute donc sur la syntaxe de la ligne en rouge.
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 Public Sub AfficherLangue(NomForm As String) Dim ctl As Control, subctl As Control For Each ctl In Forms(NomForm).Controls If (ctl.ControlType = acLabel) Then 'je traduis... End If If ctl.ControlType = acSubform Then 'si c'est un sous-formulaire, je dois lister tous les controles et traduire les étiquettes For Each subctl In Forms(NomForm).Control(ctl.Name).Form(ctl.SourceObject).Controls 'je dois traduire les étiquettes... Next End If Next end sub
Merci d'avance à celui qui pourra m'éclairer.
Partager