Pbm avec property let/get et tableau - VB/VBA/VBS - Programmation
MarshPosté le 25-09-2006 à 15:02:57
salut
j'ai du mal avec l'initialisation et la lecture d'une donnée membre de type tableau (double par ex.) via l'utilisation des propriétés property let/get des classes VBA.
Exemple:
[Classe "Toto"]
Option Explicit
Private Tab() as Double
Public Property Let MonTab(A() as Variant) dim N as long N=Ubound(A) 'je récupère la dim du tableau A redim Tab(1 to N) dim i as long for i=1 to N Tab(i)=A(i) 'impossible de faire Tab=A car pas mm type: normal dc j'ai fait un for next next i End Property
Là ça compile tranquille mais si je rajoute un geter, plus rien:
Public Property Get MonTab() as double() MonTab=Tab End Property
J'ai alors une erreur de compil. je pensais que le leter était faux mais mm en passant par une variable tableau intermédiare du style:
Public Property Let MonTab(A() as Variant) dim N as long N=Ubound(A) 'je récupère la dim du tableau A dim Aux() as double redim Aux(1 to N) dim i as long for i=1 to N Aux(i)=A(i) next i Tab=Aux End Property
Erreur de compilation: Les définitions des procédures de propriété pour la même propriété sont incohérentes ou contiennent un paramètre optionnel ou un ParamArray ou un paramètre final non valide dans Property Set.
Où est alors le pbm qd je rajoute cette maudite property get????
Marsh Posté le 25-09-2006 à 15:02:57
salut
j'ai du mal avec l'initialisation et la lecture d'une donnée membre de type tableau (double par ex.) via l'utilisation des propriétés property let/get des classes VBA.
Exemple:
[Classe "Toto"]
Option Explicit
Private Tab() as Double
Public Property Let MonTab(A() as Variant)
dim N as long
N=Ubound(A) 'je récupère la dim du tableau A
redim Tab(1 to N)
dim i as long
for i=1 to N
Tab(i)=A(i) 'impossible de faire Tab=A car pas mm type: normal dc j'ai fait un for next
next i
End Property
Là ça compile tranquille mais si je rajoute un geter, plus rien:
Public Property Get MonTab() as double()
MonTab=Tab
End Property
J'ai alors une erreur de compil. je pensais que le leter était faux mais mm en passant par une variable tableau intermédiare du style:
Public Property Let MonTab(A() as Variant)
dim N as long
N=Ubound(A) 'je récupère la dim du tableau A
dim Aux() as double
redim Aux(1 to N)
dim i as long
for i=1 to N
Aux(i)=A(i)
next i
Tab=Aux
End Property
Erreur de compilation:
Les définitions des procédures de propriété pour la même propriété sont incohérentes ou contiennent un paramètre optionnel ou un ParamArray ou un paramètre final non valide dans Property Set.
Où est alors le pbm qd je rajoute cette maudite property get????
merci pour votre aide