OVH Cloud OVH Cloud

Atteindre tous les contrôles d'un form et de ses sous forms

1 réponse
Avatar
JPG
Bonjour,

Par VB, j'aimerais atteindre tous les contrôles de mon formulaire (MonForm)
et de ses sous formulaires (SousForm1, 2 etc..).

Avec le code suivant :
dim ctl as control
For each ctl in MonForm.controls
(...)
Next

je trouve seulement les contrôles de MonForm.

Et évidemment quand dans mon code je mets :
For each ctl in MonForm.SousForm1.controls
(...)
Next
j'obtiens seulement ceux de mon SousForm1.

Existe-t-il un moyen de faire le tour de tous les contrôles de mon form et
de ses sous form en une seule manipulation afin de ne pas répéter le code
(...) autant de fois qu'il y a un sous formulaire.


Merci beaucoup pour votre aide.

JPG

1 réponse

Avatar
Eric
Bonjour,

Peut-être avec quelque chose comme :
Sub LesControles(UnForm As Form)
Dim c As Control, d As Control, sf As SubForm
For Each c In UnForm.Controls
Debug.Print c.Name
If c.ControlType = acSubform Then
Debug.Print "--> Début Controles SubForm " & c.Name
Set sf = c
For Each d In sf.Controls
Debug.Print vbTab; d.Name
Next d
Debug.Print "--> Fin Controles SubForm " & c.Name
Set sf = Nothing
End If
Next c
End Sub

Bonjour,

Par VB, j'aimerais atteindre tous les contrôles de mon formulaire (MonForm)
et de ses sous formulaires (SousForm1, 2 etc..).

Avec le code suivant :
dim ctl as control
For each ctl in MonForm.controls
(...)
Next

je trouve seulement les contrôles de MonForm.

Et évidemment quand dans mon code je mets :
For each ctl in MonForm.SousForm1.controls
(...)
Next
j'obtiens seulement ceux de mon SousForm1.

Existe-t-il un moyen de faire le tour de tous les contrôles de mon form et
de ses sous form en une seule manipulation afin de ne pas répéter le code
(...) autant de fois qu'il y a un sous formulaire.


Merci beaucoup pour votre aide.

JPG



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr