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 :

Matrices globales à tout un projet [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 69
    Points : 60
    Points
    60
    Par défaut Matrices globales à tout un projet
    Bonjour,

    J'ai un projet qui possède de nombreux modules environ une vingtaine et à peu près autant de modules de classes. Bon comme vous pouvez l'imaginer dans chacun il y a des fonctions, méthodes qui m'aident à réaliser mes simulations.

    Lors d'une simulation, les différentes fonctions sont appelées successivement sous forme de "call".

    En voulant modifier ma méthode de programmation, j'ai créé de nombreuses matrices qui sont générées par une fonction dans un module, j'appelle cette fonction pour les générer en début de code. Je voudrais que ces matrices soient des variables globales et qu'elles soient accessibles dans toutes mes fonctions de module mais surtout dans mes modules de classes (quand j'appelle certaines de leurs méthodes.).

    Vous me direz, je peux les mettre en paramètre de chacune de mes fonctions, mais je voudrais éviter cette solution, car je devrais modifier de nombreuses fonctions.

    J'ai voulu le faire en faisant comme si c'était une variable globale dans mes modules et modules de classes, en mettant en en-tête:
    Mais quand j'exécute mon code, toutes mes matrices sont correctement remplies, mais dès qu'on sort de l'appelle de la fonction, il y a marqué variable hors contexte. Ce qui fait que mon code ne s'exécute pas correctement car mes matrices sont considérés comme vides.

    Savez vous ce qu'il se passe ou comment régler ce problème?

    Merci d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour

    Généralement utiliser des variables globales n'est pas une bonne idée surtout si tu les modifies à différents endrois. Ça peut devenir un enfer à débugger et à maintenir. (Note : dans le cas de modification à divers endroits, utiliser un module de classe peut être une bonne solution car cela centralise la modification de la valeur et permet un meilleur controle.)

    Mis à part cela, normalement une fois la variable correctement initialisée elle conserve sa valeur jusqu'à l'arrêt de l'application.

    Je pense que tu as du code du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    maVariable(1)=uneValeur
    maVariable(2)=uneValeurAutre
    maVariable(3)=uneValeurAutreAutre
    Tu pourrais essayer de remplacer Public par global.

    Tu pourrais aussi essayer en ajoutant le nom du module dans laquelle elle est définie (ex : monModule.maVariable).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 69
    Points : 60
    Points
    60
    Par défaut
    Merci pour cette réponse et désolé de répondre un peu tard, en fait il semblerait que c'est bien public qu'il faut utiliser et non global.

    D'après un forum en anglais, global ne marche que dans les modules classiques et non dans les modules de classes. Global viendrait des vieilles versions de VB.

    Mes tableaux étant dynamiques, c'était un peu plus compliqué que cela mais je pense avoir résolu mon problème, je pense que c'était dû à une mauvaise utilisation de NULL.

    Merci en tout cas.

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

Discussions similaires

  1. Inclure une CSS globale à toutes les jsp d'un projet
    Par dessty dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 07/06/2011, 15h20
  2. Variables Global pour tout le projet
    Par bobo10 dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/01/2010, 09h17
  3. [VBA-E] Variables globales sur tout un projet
    Par a.dequidt dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 15/10/2007, 10h48
  4. [VB.NET] Var globales sur plusieurs projets d'une même solut
    Par boulete dans le forum Windows Forms
    Réponses: 8
    Dernier message: 16/02/2006, 14h04
  5. utilisation des variables global dans tout le projet
    Par EYENGA Joël dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/01/2006, 10h55

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