Méthode non acceptée : ajout d'un objet dans une collection
Bonjour, j'ai un soucis lorsque j'exécute le code de mon application, je tente d'ajouter un objet à ma classe et j'obtient ce message d'erreur :
"L'objet ne gère pas cette propriété ou cette méthode"
Voici la déclaration de ma collection :
Code:
Private mcolpersons As Collection
La déclaration de mon objet :
Code:
1 2 3 4 5 6
| Public nom2 As String
Public prenom2 As String
Public ville2 As String
Public datenaissance2 As String
Public nomcomplet2 As String
Public Event completed() |
Voici le code d'ajout de l'objet dans ma collection
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Sub testcollection(nom2 As String, prenom2 As String, datenaissance2 As Date, ville2 As String)
Dim colpersons As New persons
Dim newperson As New person2
Dim i As Long
Set colpersons = New persons
With colpersons
newperson = .createperson2(nom2, prenom2, datenaissance2, ville2)
.add (newperson)
MsgBox "Maintenant, le nombre d'éléments présents dans la collection est :" & .count
MsgBox " Maintenant, on va faire défiler la collection :"
For i = 1 To .count
MsgBox .item(i).nom2
Next
End With |
Le détail de la méthode createperson2
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Public Function createperson2(strnom As String, strprenom As String, dtmnaissance As Date, strville As String) As person2
Dim objperson2 As person2
Set objperson2 = New person2
With objperson2
.nom2 = strnom
.prenom2 = strprenom
.ville2 = strville
.datenaissance2 = dtmnaissance
End With
Set createperson2 = objperson2
End Function |
Et le détail de ma méthode add :
Code:
1 2 3 4 5 6
| Public Sub add(ByRef objperson2 As person2, Optional ByVal key As String = "")
If Len(key) = 0 Then
key = objperson2.nom2 & Format(objperson2.datenaissance2, "yyyymmdd")
End If
mcolpersons.add objperson2, key
End Sub |
Alors mes méthodes sont bien reconnues, en saisissant ".", j'ai bien accès à tous mes méthodes et lors de leur déclarations, je respect bien les signatures.
J'instancie mon objet et ma collection avec NEW
Je déclare le liens de parenté entre ma collection et mon objet :
Code:
1 2 3 4 5 6 7 8
| Property Set parent(ByRef colpersons As persons)
If colpersons Is Nothing Then
mobjparent = colpersons
End If
End Property
Property Get parent() As persons
objperson2.parent = mobjparent
End Property |
J'ai temporairement enlevé la suppression du pointeur de mon objet et de ma collection car je craignais que l'objet ne se détruisait pas au bon moment.
En espérant que le message n'était pas trop long, je remercie les personnes qui auront lu mon message jusqu'au bout.
Merci d'avance à tous ceux qui pourront ou essairont de m'aider !
Cordialement,
NZs