manuel - vba excel définition




Excel vba: nombre incorrect d'arguments ou ajout incorrect d'une collection d'affectations de propriété (2)

Vous devez déclarer Public Property Get getSumLosses() tant que Collection et utiliser Set :

Private sumLosses As Collection

Private Sub Class_Initialize() 
    Set sumLosses = New Collection
End Sub

Public Property Get getSumLosses() as Collection
    Set getSumLosses = sumLosses
End Property

:)

Je reçois un

mauvais nombre d'arguments ou collection d'affectations de propriété non valide

erreur depuis longtemps maintenant, mais ne peut pas comprendre ce qui ne va pas. J'ai une classe et une Collection dans cette classe et un Sub pour ajouter des valeurs à cette collection.

Private sumLosses As Collection

Private Sub Class_Initialize() 
    Set sumLosses = New Collection
End Sub

Public Property Get getSumLosses()
    getSumLosses = sumLosses
End Property

À l'intérieur du module principal:

For Each clientCopy In clientsColl
        clientCopy.getSumLosses.Add 200  'error
        clientCopy.getSumLosses.Add (200) 'error
Next

Pourquoi cela échoue-t-il et comment puis-je ajouter les éléments à la collection d'une classe?


sumLosses est de type Collection donc il s'agit d'un objet et doit être Set sur une autre variable / fonction.

En utilisant Set cela devrait fonctionner:

Public Property Get getSumLosses() As Collection
    Set getSumLosses = sumLosses
End Property

Définir aussi la propriété As Collection peut être pas une mauvaise idée (mais cela n'a pas causé l'erreur).