OVH Cloud OVH Cloud

Cacher un grand nombre de labels

6 réponses
Avatar
Florian
Bonjour
J'ai dans un userform des labels de 1 à 91,
je souhaite après clic sur un bouton se trouvant sur mon userform que les
labels
de 10 à 91 deviennent invisible
je pense à qq chose du genre for...next
mais incapable de le réaliser.
Merci beaucoup
Flo riant

6 réponses

Avatar
Pierre Fauconnier
Bonjour

Si tes labels sont nommés label1, label2, ..., label91 ... tu peux utiliser
une boucle, comme celle-ci:
Dim i As Integer
For i = 10 To 91
Controls("label" & i).Visible = False
Next i


Cela convient-il?


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Florian" a écrit dans le message de
news:
Bonjour
J'ai dans un userform des labels de 1 à 91,
je souhaite après clic sur un bouton se trouvant sur mon userform que les
labels
de 10 à 91 deviennent invisible
je pense à qq chose du genre for...next
mais incapable de le réaliser.
Merci beaucoup
Flo riant




Avatar
Rai
Bonjour,

Tu peux faire quelquechose du genre :

For Each lbl In Controls
If Val(Right(lbl.Name, 2)) >= 10 And Left(lbl.Name, 3) = "Lab" Then
lbl.Visible = False
End If
Next lbl

Bon Dimanche.


Rai

"Florian" a écrit dans le message de news:
Bonjour
J'ai dans un userform des labels de 1 à 91,
je souhaite après clic sur un bouton se trouvant sur mon userform que les
labels
de 10 à 91 deviennent invisible
je pense à qq chose du genre for...next
mais incapable de le réaliser.
Merci beaucoup
Flo riant




Avatar
Pierre CFI [mvp]
bonjour
le nom est 1,2.....91 ?
dim i as integer
for i = 1 to 91
me(i).visible = false
next

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Florian" a écrit dans le message de news:
Bonjour
J'ai dans un userform des labels de 1 à 91,
je souhaite après clic sur un bouton se trouvant sur mon userform que les
labels
de 10 à 91 deviennent invisible
je pense à qq chose du genre for...next
mais incapable de le réaliser.
Merci beaucoup
Flo riant




Avatar
Frédéric Sigonneau
Bonjour,

Dans le code, par exemple, d'un CommandButton de ton Userform :

Private Sub CommandButton1_Click()
Dim i&
For i = 10 To 91
Me.Controls("label" & i).Visible = False
Next
End Sub

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !

Bonjour
J'ai dans un userform des labels de 1 à 91,
je souhaite après clic sur un bouton se trouvant sur mon userform que les
labels
de 10 à 91 deviennent invisible
je pense à qq chose du genre for...next
mais incapable de le réaliser.
Merci beaucoup
Flo riant




Avatar
Pounet95
Bonjour,
Je pense qu'effectivement une boucle For ....Next est la solution.
Si, par bonheur, tu as nommé tes contrôles label10 , label11, ....,etc

dans l'évènement clic du bouton mettre :
For i to 91
Me.Controls("Label"&i).Visibleúlse
Next i

et si tes contrôles sont nommés individuellement du genre lbl_mois,
lbl_jour, lbl_xxxx
faire une affectation de chacun d'entre dans un tableau. Quelque chose du
genre :
Dim MonLabel(80) as object
set monlabel(1)=lbl_toto
set monlabel(2)=lbl_titi
etc

ensuite dans l'évènement clic du bouton
For i=1 to 80
monlabel(i).visibleúlse
Next i

Cela va prendre du temps, mais je n'ai pas d'autre solution proposer dans
ce as

Bon courage

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Florian" a écrit dans le message de news:

Bonjour
J'ai dans un userform des labels de 1 à 91,
je souhaite après clic sur un bouton se trouvant sur mon userform que les
labels
de 10 à 91 deviennent invisible
je pense à qq chose du genre for...next
mais incapable de le réaliser.
Merci beaucoup
Flo riant



Avatar
Florian
Merci beaucoup à tous pour votre célérité
Bonne journée
Flo riant

"Pounet95" a écrit dans le message de news:
OZ%
Bonjour,
Je pense qu'effectivement une boucle For ....Next est la solution.
Si, par bonheur, tu as nommé tes contrôles label10 , label11, ....,etc

dans l'évènement clic du bouton mettre :
For i to 91
Me.Controls("Label"&i).Visibleúlse
Next i

et si tes contrôles sont nommés individuellement du genre lbl_mois,
lbl_jour, lbl_xxxx
faire une affectation de chacun d'entre dans un tableau. Quelque chose du
genre :
Dim MonLabel(80) as object
set monlabel(1)=lbl_toto
set monlabel(2)=lbl_titi
etc

ensuite dans l'évènement clic du bouton
For i=1 to 80
monlabel(i).visibleúlse
Next i

Cela va prendre du temps, mais je n'ai pas d'autre solution proposer dans
ce as

Bon courage

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Florian" a écrit dans le message de news:

Bonjour
J'ai dans un userform des labels de 1 à 91,
je souhaite après clic sur un bouton se trouvant sur mon userform que les
labels
de 10 à 91 deviennent invisible
je pense à qq chose du genre for...next
mais incapable de le réaliser.
Merci beaucoup
Flo riant