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 :

Passer tableau multi-dimension ByRef


Sujet :

VBA Access

  1. #1
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut Passer tableau multi-dimension ByRef
    Bonjour,

    J'ai le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim ListFile1() As Object
     
    Private Sub Button1_Click()
    ...
        ReDim ListFile1(1, 12)
    ... 
        Call UpdateList(1, ListFile1, 12) 
    ...
    End Sub
     
    Private Sub UpdateList(i As Integer, ByRef ListFile() As Object, LenArr As Integer)
    ...
    End Sub
    Et évidemment, j'ai une erreur:
    Compile error:

    Type mismatch: array or user-defined type expected
    Quelqu'un pour me dire ce que je fais de travers svp?

    Merci.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2008
    Messages : 97
    Points : 143
    Points
    143
    Par défaut
    un tableau passe d'office par référence, le ByRef est donc de trop

    Note que ton code fonctionne chez moi...

  3. #3
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Salur mkl238,

    Avec ou sans ByRef, j'ai le même message d'erreur.

    Si le code fonctionne chez toi, cela veut sans doute dire qu'il est correcte. Mais pourquoi pas chez moi?

    Je continue de chercher. Merci.

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 432
    Points
    19 432
    Billets dans le blog
    63
    Par défaut
    Salut,

    Peux-tu détailler un peu ton code ?

    Quels sont ces "objects" que tu copies dans ton tableau ?

    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Salut User,

    Je remplis mon tableau avec des String et des Integer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        For j = 0 To 12
            ListFile1(0, j) = dbCompare.TableDefs("File1").Fields(j).Name
            ListFile1(1, j) = 0
        Next
    Mon code n'est pas beaucoup plus fournis que ça car je suis au début de mon programme.

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 432
    Points
    19 432
    Billets dans le blog
    63
    Par défaut
    Re,

    Tu as essayé avec :

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ListFile1() as variant
    Y compris dans l'argument ListFile de la procédure UpdateList.

    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  7. #7
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Oui, j'avais déjà essayé avec Variant mais j'ai eu la même erreur.

    Par contre, je viens d'essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UpdateList(i As Integer, ByRef ListFile(), LenArr As Integer)
    ...
    End Sub
    Et ça fonctionne.

    Je ne comprend pas pourquoi je ne dois pas préciser le type de mon tableau dans mon sub mais ça passe. J'ai laissé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ListFile1() As Object
    et ça marche aussi.

    Un tout grand merci User.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] recherche dans un tableau multi dimension
    Par kagura dans le forum Langage
    Réponses: 1
    Dernier message: 18/07/2007, 14h27
  2. [Tableaux] Tri d'un tableau multi-dimensions
    Par lodan dans le forum Langage
    Réponses: 6
    Dernier message: 05/12/2006, 10h08
  3. Réponses: 4
    Dernier message: 29/11/2006, 12h00
  4. Réponses: 3
    Dernier message: 06/10/2006, 15h46
  5. [Tableaux] Différence tableau multi dimension
    Par rdams dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2006, 11h34

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