Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Assigner A Plusieurs Textbox La Valeur Visble A True Ou False

GCFRG

XLDnaute Occasionnel
Bonjour le forum, est-ce possible d'assigné en une seule opération la valeur .visible=false/true à plusieurs textbox en une seule opération plutôt que de taper pour chaque textbox me.texbox1.visible = false.
Peut-être en les regroupant en collection ou en groupe, mais là je ne sais pas faire.
Si quelqu'un à 1 idée ?
Merci d'avance

Gilbert
 

Staple1600

XLDnaute Barbatruc
Re : Assigner A Plusieurs Textbox La Valeur Visble A True Ou False

Bonsoir

En bouclant sur les controls
Me.Controls("TextBox" & i).Visible=true

Autre solution
Code:
Private Sub UserForm_Click()
Dim Ctrl As Control
For Each Ctrl In Controls
If TypeName(Ctrl) = "TextBox" Then Ctrl.Visible = False
Next Ctrl
End Sub
 
Dernière édition:

GCFRG

XLDnaute Occasionnel
Re : Assigner A Plusieurs Textbox La Valeur Visble A True Ou False

Merci JM, dans mon cas la 1ère solution convient parfaitement, toutes mes textbox n'étant pas à planquer,
j'ai écrit
if checkbox10.value = true then
dim i as byte
dim j as byte
For i = 27 To 34
Me.Controls("TextBox" & i).Visible = True
Next i
for j = 40 to 54
Me.Controls("TextBox" & j).Visible = True
Next j
else
For i = 27 To 34
Me.Controls("TextBox" & i).Visible = False
Next i
for j = 40 to 54
Me.Controls("TextBox" & j).Visible = False
Next j
end if

L'autre solution s'applique pour tous les textbox présent dans le USF ou la frame ?
Merci encore.
avec vous j'avance au moins
@+
Gilbert
 

Staple1600

XLDnaute Barbatruc
Re : Assigner A Plusieurs Textbox La Valeur Visble A True Ou False

Re

Par convention les déclarations se déclarent au début du module

sub toto()
dim i as byte
dim j as byte


L'autre solution prend en compte les controles placés sur l'userform
 

TooFatBoy

XLDnaute Barbatruc
Re : Assigner A Plusieurs Textbox La Valeur Visble A True Ou False

Exact pour la remarque sur la déclaration des variables.
Surtout que dans le cas présent, les variables ne sont déclarées que si checkbox10.value est égal à True...


En ce qui concerne ton code, le IF me semble inutile et une seule variable suffit :
Code:
dim i as byte
For i = 27 To 34
Me.Controls("TextBox" & i).Visible = checkbox10.value
Next i
for i = 40 to 54
Me.Controls("TextBox" & i).Visible = checkbox10.value
Next i
 
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Assigner A Plusieurs Textbox La Valeur Visble A True Ou False

Bonjour,

Cache tous les contrôles à l'intérieur d'un frame:

Code:
Me.Frame1.Visible = False


Code:
For Each c In Me.Frame1.Controls
 c.Visible = True
Next c

JB
 

GCFRG

XLDnaute Occasionnel
Re : Assigner A Plusieurs Textbox La Valeur Visble A True Ou False

Bonjour, à tous, et un grand merci pour toutes vos explications
je vais pouvoir réduire mon code de plusieurs dizaines de lignes, plus j'en apprend, plus mon code se réduit, et devient bien plus "lisible".

Bon Dimanche

à très bientôt sur le forum
Gilbert
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…