OVH Cloud OVH Cloud

[VBA] Instuction For Each pour masquer des etiquettes

4 réponses
Avatar
Tonic
Bonjour à tous,

J'aimerai pouvoir masquer toutes les etiquettes d'un formulaire en utilisant
une instruction for each.
Quelqu'un aurait-il une idée??

Merci d'avance,
Tonic

4 réponses

Avatar
pgz
Bonjour,

Ca devrait être un truc du genre :
DIm ctl As Control

For each ctl in Me.Controls
ifctl.Type = acLAbel then ctl.Visible = false
next ctl

Pas garanti sans faute de syntaxe, mais c'est l'idée.
Bonne chance,
pgz
Avatar
Gilbert
Bonjour

Essaie avec le code suivant

Dim ctl As Control
For Each ctl In Me.Controls
If ctl.ControlType = acLabel Then
ctl.Visible = False 'pour les cacher
' ctl.Visible = Not ctl.Visible 'pour les cacher si visibles et
les afficher si cachés
End If
Next ctl


--
Gilbert


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

Bonjour à tous,

J'aimerai pouvoir masquer toutes les etiquettes d'un formulaire en
utilisant
une instruction for each.
Quelqu'un aurait-il une idée??

Merci d'avance,
Tonic


Avatar
Tonic
Salut pgz,

Je pense avoir trouvé une solution qui marche :

Dim ctl As Variant
For each ctl in Me.Controls
If Typeof ctl Is Label then ctl.Visible = False
Next ctl

Néanmoins j'aimerai pouvoir declarer ctl en autre chose que variant ( ni
Control ni Controls car à ce moment la ctl ne possède pas de propriété
Visible et il devient impossible de masquer les étiquettes).Est ce que cela
est possible ou est ce que cela ne sert a rien????

Merci d'avance,
Tonic



Bonjour,

Ca devrait être un truc du genre :
DIm ctl As Control

For each ctl in Me.Controls
ifctl.Type = acLAbel then ctl.Visible = false
next ctl

Pas garanti sans faute de syntaxe, mais c'est l'idée.
Bonne chance,
pgz




Avatar
pgz
Bonsoir,

Je me suis trompé : la propriété est ControlType, au lieu de Type. Le code
s'écrit donc:
Dim ctl As Control

For Each ctl In Me.Controls
If ctl.ControlType = acLabel Then ctl.Visible = False
Next ctl

Celui-là marche, je viens de le tester.

COrdialement,
pgz