Bonjour,

Je ne sais pas si mon titre est très explicite, mais je vais expliquer ce que je compte faire.
J'ai créé une classe qui contient les coordonnées d'un point (Est, Nord, Altitude). J'essaye de créer une propriété accessible en lecture et écriture qui me permette de récupérer directement un tableau de 3 double contenant les coordonnées et la propriété inverse qui permette de compléter ma classe avec un array équivalent.
Voilà le code de ma classe :
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
17
Private mEast As Double
Private mNorth As Double
Private mElevation As String
 
' Coordinates
Property Get Coordinates() As Double()
    Dim coord(1 To 3) As Double
    coord(1) = mEast
    coord(2) = mNorth
    coord(3) = mElevation
    Coordinates = coord
End Property
Property Let Coordinates(Coordinates() As Double)
    mEast = Coordinates(1)
    mNorth = Coordinates(2)
    mElevation = Coordinates(3)
End Property
La propriété Get fonctionnne très bien.
Par contre la propriété Let ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Dim pt1 As New cPoint
Dim toto(1 To 3) As Double
pt1.Coordinates = toto
Le code ci-dessus me renvois l'erreur : "Impossible d'affecter à un tableau"

Dans mes recherches, j'ai cru comprendre qu'il n'est pas possible de passer un tableau en paramètre de Property Let, mais ce n'est pas très clair pour moi. Est-ce quelqu'un me confirme cela ? Sinon quelle est l'erreur ?
La solution que j'ai trouvé serait d'utiliser un Sub à la place de Let, mais dans ce cas là, je ne peux pas garder le même nom entre Get et Sub, ce qui est dommage pour moi.

Merci d'avance