OVH Cloud OVH Cloud

Probléme de syntaxe

7 réponses
Avatar
Shewy80
Bonjour à tous.
Quelqu'un peux t il me dire comment écrire correctement :
Form1.Picture& i(k).Visible = False


For i = 1 To 10
Form1.Shape1(i).Visible = True
For k = 1 To 5
'Itération1 [ Picture1(1à5).visible ] , [
Picture2(1à5).visible ] , [ Picture(1à10)(1à5)....visible ]
Form1.Picture& i(k).Visible = False
Next
Next

Merci !!!!!!!!!!!!!!!!!!!!!

7 réponses

Avatar
Patrick Philippot
Bonjour,

Quelqu'un peux t il me dire comment écrire correctement :
Form1.Picture& i(k).Visible = False



Vous ne pouvez pas faire ça.

Un nom d'objet n'est pas une chaîne de caractères à laquelle vous pouvez
concaténer une autre chaîne.

Les contrôles constituants d'une Form sont accessibles par leur nom via
la collection Controls:

Set C = [Me.]Controls("Picture12")

Il vous suffit donc de construire dans votre boucle la chaîne
représentant le nom du contrôle et de l'utiliser comme ci-dessus ou
directement:

Dim Name As String

Name = "Picture12"
Controls(Name).Visible = True

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
ng
Salut,

Ou alors, tu peux utiliser un groupe de controle.

C'est plus approprié je pense, surtout si tu veux recupérer les événements
de facon groupée.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Avatar
Shewy80
bah je gere déjà un groupe de control en fait.
Form1.Picture1(k).Visible = False
En fait j'ai besoin de 10 Zones principale, chacune d'entres elles divisées
en 5

je pensais gérer chacune des zone par un groupe de controle (de 1à5)
puis le Picture1,2,3,4,5,6,7,8,9,10 grace à un i...

D'ou mon exp un peu brouillon:
For i = 1 To 10
Form1.Shape1(i).Visible = True
For k = 1 To 5
'Itération1 [ Picture1(1à5).visible ] ,
[Picture2(1à5).visible ] , [ Picture(1à10)(1à5)....visible ]
Form1.Picture& i(k).Visible = False
Next
Next



"ng" a écrit dans le message de
news:O%
Salut,

Ou alors, tu peux utiliser un groupe de controle.

C'est plus approprié je pense, surtout si tu veux recupérer les événements
de facon groupée.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/


Avatar
ng
Salut,

je pensais gérer chacune des zone par un groupe de controle (de 1à5)
puis le Picture1,2,3,4,5,6,7,8,9,10 grace à un i...

D'ou mon exp un peu brouillon:
For i = 1 To 10
Form1.Shape1(i).Visible = True
For k = 1 To 5
'Itération1 [ Picture1(1à5).visible ] ,
[Picture2(1à5).visible ] , [ Picture(1à10)(1à5)....visible ]
Form1.Picture& i(k).Visible = False
Next
Next



Et alors ?

en faisant qqch comme MesPicture(i * 5 + k).Visible...
avec un groupe de controle MesPicture(1 à 10)...


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Avatar
Patrice Henrio
et pourquoi pas quelque chose du genre
For I=1 to 10
Picture1(I).Visible=(I<6)
Next


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

Salut,

je pensais gérer chacune des zone par un groupe de controle (de 1à5)
puis le Picture1,2,3,4,5,6,7,8,9,10 grace à un i...

D'ou mon exp un peu brouillon:
For i = 1 To 10
Form1.Shape1(i).Visible = True
For k = 1 To 5
'Itération1 [ Picture1(1à5).visible ] ,
[Picture2(1à5).visible ] , [ Picture(1à10)(1à5)....visible ]
Form1.Picture& i(k).Visible = False
Next
Next



Et alors ?

en faisant qqch comme MesPicture(i * 5 + k).Visible...
avec un groupe de controle MesPicture(1 à 10)...


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/


Avatar
LE TROLL
Salut,

Picture1(i).Visible = False
Picture2(i).Visible = False
etc...
---------------------


"Shewy80" a écrit dans le message
de news: d5atih$g4d$

Bonjour à tous.
Quelqu'un peux t il me dire comment écrire correctement :
Form1.Picture& i(k).Visible = False


For i = 1 To 10
Form1.Shape1(i).Visible = True
For k = 1 To 5
'Itération1 [ Picture1(1à5).visible ] , [
Picture2(1à5).visible ] , [
Picture(1à10)(1à5)....visible ]
Form1.Picture& i(k).Visible = False
Next
Next

Merci !!!!!!!!!!!!!!!!!!!!!




Avatar
Shewy80
voilà
en fait j'ai donc créer un seul groupe de controle.
Et je gere mes images comme les chambre d'un hotel.
(Num Etage + Num chambre)
et le prob est réglé !

Merci beaucoup