Crée une classe de collection d'objet en VBA

Bonjours,

Je souhaiterais crée une classe de collection d'objet afin de tester l'utilisation de la POO sur excel. Cependant a chaque fois que je tente quelle que chose cela ne fonctionne pas et je ne m'explique pas pourquoi.

Voici donc le code de ma classe personne

Dim clsVisage As Visage
Private clsNom As String
Private clsPrenom As String

Property Get Visage() As Visage
    Set Visage = clsVisage
End Property

Private Sub Class_Initialize()
    Set clsVisage = New Visage
End Sub

Property Let Nom(NewNom As String)
    clsNom = NewNom
End Property

Property Get Nom() As String
    Set Nom = clsNom
End Property

Property Let Prenom(NewPrenom As String)
    clsPrenom = NewPrenom
End Property
Property Get Prenom() As String
    Set Prenom = clsPrenom
End Property

Maintenant le code de ma collection Personnes

Option Explicit

Private Persons As New Collection

Sub Add(NewNom As String, NewPrenom As String)

Dim p As New Personne

p.Nom = NewNom

p.Prenom = NewPrenom

Persons.Add p

End Sub

Sub Add(NewPersonne As Personne)
Persons.Add NewPersonne
End Sub

Property Get Count() As Long

Count = Persons.Count

End Property

Property Get Item(NameOrNumber As Variant) As Personne

Set Item = Persons(NameOrNumber)

End Property

Sub Remove(NameOrNumber As Variant)
Persons.Remove NameOrNumber

End Sub

Et enfin voici mon programme principal

Sub Test()

    Dim colPersons As New Personnes

    Dim Julian As Personne

    Set Julian = New Personne

    With Julian.Visage.Cheveux
        .Couleur = "Brin"
        .Longueur = 5
    End With

    Personnes.Add (Julian)

End Sub

Du coup comme j'ai fait de l’héritage aussi pour tester je ne vous et pas envoyer mes classe hériter de personne comme visage et cheveux. Si jamais vous en avait besoin je vous les envoie sans souci ^^

Bonjour,

Moi j'aimerai bien voir comment tu as distribué ça dans les modules donc tu peux joindre ton classeur : Ça permettra de parler de la même chose.

A+

Bien sur le voici en pièce jointe

78test-vbe.xlsm (20.27 Ko)

Bonjour,

Je suis un peu largué là... Je pense que quelqu'un d'autre pourra t'orienter.

A+

Merci quand même ^^

Rechercher des sujets similaires à "cree classe collection objet vba"