Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/08/2007, 09h46   #1
in
Membre Expert
 
Avatar de in
 
Inscription : avril 2003
Messages : 1 609
Détails du profil
Informations personnelles :
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : avril 2003
Messages : 1 609
Points : 1 564
Points : 1 564
Par défaut Accesseur de collection dans un module de classe

Bonjour,

j'ai un piti problème qui doit être assez basique pour des connaisseurs comme vous. Helas, je n'ai pas réussi à trouver de solution. Je m'en remet donc à vos bonnes grâces ...

J'ai un module de classe qui possède entre autres deux membres de type Collection.
Pour les types "basiques" pas de problème pour les accesseurs. Par contre pour ces collection ... je n'arrive pas à compiler.

Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
Private lInit_typed_WBS As New Collection

Public Property Let Init_typed_WBS(ByVal liste As Collection) 
    lInit_typed_WBS = liste
End Property

Public Property Get Init_typed_WBS() As Collection
    Init_typed_WBS = lInit_typed_WBS
End Property
En fait sur les deux éléments en gras, j'ai une "erreur de compilation : argument non facultatif"

Pour le Let, je peux feinter en parcourant la collection en paramètre et en ajoutant chaque élément à mom membre. Mais bon je trouve ça pas très cool ...

Est-ce normal docteur ?
__________________
"If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/
in est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 12h32   #2
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
bonjour

Tu dois ajouter l'instruction Set pour faire référence à un objet:


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
'--- Dans un module de classe nommé Classe1
Option Explicit
 
Private lInit_typed_WBS As New Collection
 
 
Public Property Let Init_typed_WBS(ByVal liste As Collection)
    Set lInit_typed_WBS = liste
End Property
 
 
Public Property Get Init_typed_WBS() As Collection
    Set Init_typed_WBS = lInit_typed_WBS
End Property


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
'--- Dans un module standard
Option Explicit
 
Sub Test()
    Dim Cl As Classe1
 
    Set Cl = New Classe1
 
    Cl.Init_typed_WBS.Add "mimi"
 
    MsgBox Cl.Init_typed_WBS.Item(1)
 
    Set Cl = Nothing
End Sub



bonne journée
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 15h45   #3
in
Membre Expert
 
Avatar de in
 
Inscription : avril 2003
Messages : 1 609
Détails du profil
Informations personnelles :
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : avril 2003
Messages : 1 609
Points : 1 564
Points : 1 564
Cool,

je pensais bien que c'était rien, mais bon je n'aurais pas trouvé seul.

merci encore

bonne journée également
__________________
"If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/
in est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 16h04   #4
Rédacteur

 
Avatar de Tofalu
 
Christophe Warin
Inscription : octobre 2004
Messages : 8 635
Détails du profil
Informations personnelles :
Nom : Christophe Warin
Âge : 28

Informations forums :
Inscription : octobre 2004
Messages : 8 635
Points : 13 718
Points : 13 718
D'ailleurs SilkyRoad ce sera une property Set au lieu de property Let
Tofalu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 18h09   #5
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
OOuuppss...
Merci cher Tofalu ... ;o)
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h47.


 
 
 
 
Partenaires

Hébergement Web