[VBA] Private object modules cannot be used in public object modules
Private object modules cannot be used in public object modules [VBA] - VB/VBA/VBS - Programmation
MarshPosté le 18-04-2011 à 20:02:03
Bonjour tout le monde,
Je rencontre un problème qui me rend fou, j'espère que vous pourrez m'aider.
Comme dit dans le titre le message d'erreur retourné est : "Private object modules cannot be used in public object modules as parameters ..."
Un petit bout du code (module de classe) correspondant est :
Option Explicit
Private TimeSerie() As clsTimeValue Private Times() As Date Private Values() As Double Private Lperfs() As Double
Private MinPos As Long Private MaxPos As Long Private CurPos As Long
Public Function GetPosTimeValue(d As Long) As clsTimeValue Set GetPosTimeValue = Nothing If d > 0 Then Set GetPosTimeValue = TimeSerie(d) End If End Function
Si je comprends bien l'erreur, je ne peux pas retourner les valeurs de TimeSerie (défini private/ Définition forcée par le module de classe), dans une fonction dont la portée est publique.
J'ai essayé de changer les publique/private mais cela bloque.
J'espère avoir réussi à être clair, et que vous pourrez m'aider.
Marsh Posté le 18-04-2011 à 20:02:03
Bonjour tout le monde,
Je rencontre un problème qui me rend fou, j'espère que vous pourrez m'aider.
Comme dit dans le titre le message d'erreur retourné est : "Private object modules cannot be used in public object modules as parameters ..."
Un petit bout du code (module de classe) correspondant est :
Option Explicit
Private TimeSerie() As clsTimeValue
Private Times() As Date
Private Values() As Double
Private Lperfs() As Double
Private MinPos As Long
Private MaxPos As Long
Private CurPos As Long
Public Function GetPosTimeValue(d As Long) As clsTimeValue
Set GetPosTimeValue = Nothing
If d > 0 Then
Set GetPosTimeValue = TimeSerie(d)
End If
End Function
Si je comprends bien l'erreur, je ne peux pas retourner les valeurs de TimeSerie (défini private/ Définition forcée par le module de classe), dans une fonction dont la portée est publique.
J'ai essayé de changer les publique/private mais cela bloque.
J'espère avoir réussi à être clair, et que vous pourrez m'aider.
Un grand merci d'avance