Comment passer en revue une serie d'Objets ??

SATANdemon Messages postés 44 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 30 novembre 2005 - 27 nov. 2002 à 18:41
zefri Messages postés 33 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 11 décembre 2002 - 28 nov. 2002 à 23:32
Sur ma Form principale "frmMain" j'ai une Listview indexé "lwAffichage(x)".

J'aimerai savoir comment faire pour passer en revu toute mes Listview lwAffichage.

J'ai esseyai en faisant un For Each mais ca marche po :(, voici comment j'ai fait :

Dim MyObject as Listview

Set MyObject = frmMain.lwAffichage     'La il me fait une erreur
For Each MyObject in frmMain
    MyObject.visible = false     'Par exemple
Next
Set MyObject = Nothing


Pourrier vous me dire comment faire svp ?? a qu'elle endroit je me trompe ??

merci d'avance.

3 réponses

zefri Messages postés 33 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 11 décembre 2002
27 nov. 2002 à 20:16
En fait, l'instruction For Each ne fonctionne que sur les collections ou les tableaux, tu l'applique à une form donc pas étonnant que ça ne fonctionne pas !

Pour parcourir les listview de ton groupe de contrôle lwAffichage, essaie plutôt quelquechose du genre

Dim oListView as Listview

For each oListView in lwAffichage
'traitement
Next

Mais cette solution n'est pas forcément la plus adaptée, tout dépend du contexte dans lequel tu veux l'utiliser.
0
SATANdemon Messages postés 44 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 30 novembre 2005
27 nov. 2002 à 20:19
merci pour ta reponse

en faite je créé des lwAffichage a chaque fois que je fais une action, et j'ai la possibilité d'en supprimé, donc des fois j'ai 15 lwAffichage de créé et je supprime la numero 5 donc si je fait une boucle ca fait une erreur.
0
zefri Messages postés 33 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 11 décembre 2002
28 nov. 2002 à 23:32
Je pense que la sub suivante répondra à tes besoins, sans utiliser de boucle For Each :

Sub Hide_ListView(index As Integer)
Dim i As Integer

For i = 0 To lwAffichage.Count - 1
If i = index Then
lwAffichage(i).Visible = False
Exit For
End
Next

End Sub
0