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

VBA Access Discussion :

Passage de tableau en paramètre d'une fonction "Incompatibilité de type"


Sujet :

VBA Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Passage de tableau en paramètre d'une fonction "Incompatibilité de type"
    Bonjour à tous,

    Récemment arrivé sur VBA Access, j'ai créé une class "Attachement_class" dont l'objectif est de stocker un nom d'équipe et une liste de membre par équipe.

    Dans l'idée j'ai donc une première fonction d'initialisation de la classe (cf ci-dessous) (Vu que que apparemment Class_Initialize() ne peut prendre d'argument). Qui initialise des variables "globales" (equipe As String et sous_brique() As String). On peut noter que la fonction init(X,X) appelle une deuxième fonction set_sous_brique(ByRef liste() As String).

    Lorsque je lance la compilation, je reçois ce message d'erreur :

    "Erreur de compilation:

    Incompatibilité de type : tableau ou type défini par l'utilisateur attendu "

    Erreur qui pointe sur "liste" de set_sous_brique (liste) en rouge.

    Pourriez-vous éclairer ma lanterne ?

    Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    Private equipe As String
    Private sous_brique() As String

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    Public Sub init(ByRef liste() As String, equipe_l As String)
    
        i = 0
        set_sous_brique (liste)
        equipe = equipe_l
        
          
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Sub set_sous_brique(ByRef liste() As String)
     
        ReDim sous_brique(UBound(liste))
        sous_brique = liste
     
     
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Private Sub Class_Initialize()
        equipe = Null
        sous_brique = Null
    End Sub

  2. #2
    Membre éclairé
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Points : 850
    Points
    850
    Par défaut
    Bonjour RhadamantheII.

    Personnellement, je passe les arguments tableaux sans les parenthèses.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sub set_sous_brique(ByRef liste As String)
    Si c'est le ByRef qui pose problème, essaye "Optional".
    Cdlt

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Thierry_PALLIER Voir le message
    Bonjour RhadamantheII.

    Personnellement, je passe les arguments tableaux sans les parenthèses.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sub set_sous_brique(ByRef liste As String)
    Si c'est le ByRef qui pose problème, essaye "Optional".
    Cdlt
    Bonjour Thierry,

    Merci de ta réponse

    Lorsque j'enlève les parenthèses, j'ai une erreur qui pop sur le Ubound(liste) : " Tableau attendu "

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    
    Sub set_sous_brique(liste As String)
        
        ReDim sous_brique(UBound(liste))
        sous_brique = liste
        
    End Sub

  4. #4
    Membre éclairé
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Points : 850
    Points
    850
    Par défaut
    pour un tableau d'une seule dimention (1 colonne):

    pour un tableau à 2 dimentions (profondeur):

    Cdlt

Discussions similaires

  1. Tableau en paramètre d'une fonction d'une dll C++
    Par declencher dans le forum Débuter
    Réponses: 18
    Dernier message: 05/08/2011, 23h27
  2. Réponses: 0
    Dernier message: 23/12/2009, 12h38
  3. Réponses: 14
    Dernier message: 07/06/2007, 19h40
  4. Section d'un tableau en paramètre d'une fonction
    Par ZeLL dans le forum Fortran
    Réponses: 5
    Dernier message: 18/04/2007, 14h49
  5. Réponses: 6
    Dernier message: 24/07/2006, 15h22

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