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 : Sélectionner tout - Visualiser dans une fenêtre à part
Private mcolpersons As Collection
La déclaration de mon objet :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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