OVH Cloud OVH Cloud

For Each

6 réponses
Avatar
Fournier Raymond
Bonjour a tous,
Je cherche à rendre invisible tout mes pictureBox de ma forme sauf
une. Alors j'ai tenté avec se bout de code, mais je reçois le message
d'erreur "Variable non définie"sur PictureBox après le for Each. Quelqu'un
peut me dire ce que je ne fais pas.

For Each PictureBox In Me
If PictureBox.Name = "picMenu" Then GoTo Suivant
PictureBox.Visible = False
Suivant:
Next


Merci Raymond Fournier

6 réponses

Avatar
Zoury
Salut Raymond! :O)

tu dois te déclarer un énumérateur du même type que ta collection.

Ex :
'***
Dim ctl As Control ' on boucle un collection de Controls.

For Each ctl In Me.Controls ' notre collection
PictureBox.Visible = (TypeOf ctl Is PictureBox And ctl.Name <>
"picMenu")
Next ctl
'***

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
Fournier Raymond
"Zoury" wrote in
news::

Salut Raymond! :O)

tu dois te déclarer un énumérateur du même type que ta collection.

Ex :
'***
Dim ctl As Control ' on boucle un collection de Controls.

For Each ctl In Me.Controls ' notre collection
PictureBox.Visible = (TypeOf ctl Is PictureBox And
ctl.Name <>
"picMenu")
Next ctl
'***



Bonjour Zoury
Je reçois toujours une erreur sur PictureBox.Visible qui est
variable non définie.

Raymond
Avatar
Zoury
naaaaaaarrrggg!!! erreur de copier/coller.. désolé :O/

tu dois modifier l'énumérateur, il pointe sur le contrôle en question :
'***
ctl.Visible = _
(TypeOf ctl Is PictureBox And ctl.Name <> "picMenu")
'***

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
François Picalausa
Hello,

Question, que se passe-t-il lorsqu'il y a un timer sur la feuille?
Réponse :
L'objet ne gère pas cette propriété ou cette méthode
En effet, le contrôle timer n'a pas de propriété visible...

Question, que se passe-t-il si je n'ai pas de timer mais un frame ou un
command button?
Réponse:
Disparu! (et dans les pictureboxes, picMenu est la seule des picturebox qui
disparait)

Zoury voulait sans doutes dire:
Dim ctl As Control ' on boucle un collection de Controls.

For Each ctl In Me.Controls ' notre collection
If TypeOf ctl Is PictureBox Then
ctl.Visible = (ctl.Name = "picMenu")
End If
Next ctl

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Zoury" a écrit dans le message de
news:
naaaaaaarrrggg!!! erreur de copier/coller.. désolé :O/


Avatar
Fournier Raymond
"François Picalausa" wrote in news:#L0r$TCdEHA.3928
@TK2MSFTNGP09.phx.gbl:

For Each ctl In Me.Controls ' notre collection
If TypeOf ctl Is PictureBox Then
ctl.Visible = (ctl.Name = "picMenu")
End If
Next ctl




Merci a vous deux de votre aide, sa fonctionne très bien

Raymond Fournier
Avatar
Zoury
> Zoury voulait sans doutes dire:



you bet... mon algo ne tient pas debout. ;O)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/