IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Private object modules cannot be used in public object modules as parameters


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 5
    Par défaut Private object modules cannot be used in public object modules as parameters
    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 :

    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
    18
    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

  2. #2
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonjour,
    Si c'est privé c'est que ce n'est pas pour les autres.
    Moi, je mettrais un Global à la place du Private si je veux lire les variables depuis n'importe quelle fonction.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 5
    Par défaut
    Merci de me répondre!
    Mais malheureusement, cela ne marche pas.

    Il semblerait qu'un module de classe n'accepte que le passage en private des paramètres de type Array.

Discussions similaires

  1. Probleme User-Defined Type/ Public Object Module
    Par hype_brandon dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 12/07/2017, 18h29
  2. Réponses: 6
    Dernier message: 27/10/2011, 13h55
  3. Réponses: 3
    Dernier message: 08/02/2011, 10h47
  4. Réponses: 6
    Dernier message: 01/10/2008, 11h08
  5. [DDL] "object <table> is in use"
    Par TMuet dans le forum SQL
    Réponses: 4
    Dernier message: 26/01/2004, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo