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 Discussion :

Partager CONST entre modules de classes


Sujet :

VBA

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Ingénieur Système
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Système
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Partager CONST entre modules de classes
    Bonjour,

    J'ai 2 modules de classes. Je n'arrive pas à rendre visible à l'un les CONST de l'autre, sachant que l'opérateur de visibilité "public" ne peut être utilisé dans VBA sur les constantes de module de classe.
    Existe t il une solution qui ne soit pas :
    1/ la création d'un module de classe incluant le contenu des 2 autres modules
    2/ la création de getter et setter...

    Merci d'avance.

  2. #2
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Existe t il une solution qui ne soit pas :
    1/ la création d'un module de classe incluant le contenu des 2 autres modules
    2/ la création de getter et setter...

    Pourquoi ? Ta religion te l'interdit ?
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Ingénieur Système
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Système
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bon je vois l'esprit. Je vais faire un bon gros programme procédurale avec toutes les procédures dans le même module ! C'est moche le VBA

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 269
    Points
    34 269
    Par défaut
    Hello,

    ca serait pour travailler sur quelle application d'Office ?

    Si tu travailles sur Access ou Excel, on peut passer par des "tables" de paramètres, qui certes nécessitent des Get et des Set, mais qui simlplifieront ton approche
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Citation Envoyé par cerise Voir le message
    Bon je vois l'esprit. Je vais faire un bon gros programme procédurale avec toutes les procédures dans le même module ! C'est moche le VBA
    En effet ! vraiment pas fait pour faire (proprement) de la POO !
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Ingénieur Système
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Système
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par jpcheck Voir le message
    Hello,

    ca serait pour travailler sur quelle application d'Office ?

    Si tu travailles sur Access ou Excel, on peut passer par des "tables" de paramètres, qui certes nécessitent des Get et des Set, mais qui simlplifieront ton approche
    Je travaille avec Excel.
    En fait je crée un import / export : Enterprise Architect <-> Excel. Mais je lance la macro d'excel.

    Pour faire mon mapping, j'ai pas mal d'indices de colonne & de nom de colonne en CONST que j'utilise à la fois pour l'import et à la fois pour l'export.
    Si je passe par des tables, cela me fera utiliser un indice dans le GET ou le SET, or je ne veux pas manipuler d'indice mais que des NOMS de CONSTANTES. A moins que je ne saisisse pas ce que tu évoques par "table de paramètres", aurais tu un exemple ?

  7. #7
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 269
    Points
    34 269
    Par défaut
    L'idée est celle abordée dans le tutoriel suivant

    http://jpcheck.developpez.com/tutori...es-initiation/

    Reste l'application sous Excel qui resterait la meme (une feuille, n colonnes (Paramètre, Valeur à minima), fonction de récupération et de mise à jour des valeurs)


    Cela te convient-il ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Ingénieur Système
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Système
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    La table de paramètre permet d'exposer sous contrôle l'accès à des données privées d'une classe (devrais je parler de pseudo classe par précaution...). Or mon besoin n'est pas d'encapsuler mes données qui sont des constantes "finales" mais au contraire de les laisser libre d'accès en partage.

    L'énumération évoquée dans le lien que tu as envoyé peut résoudre mon problème pour des constantes de type "integer" mais pas pour des "string" car il semble que les énumérations soient nécessairement des énumérations de type "integer" en VBA

    J'ai pas eu le temps d'essayer là mais je vais créer un module normal "vide" avec toutes mes constantes que je peux rendre publiques (car pas des modules de classes). J'ai un doute sur leur accès à l'exécution car le module dans lequel elles sont déclarées n'étant pas "executé", pas sur qu'elles soient disponibles dans le contexte d'exécution.

Discussions similaires

  1. DIfférence entre module et classe
    Par menina_raquel dans le forum Ruby
    Réponses: 2
    Dernier message: 13/04/2011, 16h45
  2. module de classe partagé entre 2 mdb
    Par A3813535 dans le forum VBA Access
    Réponses: 2
    Dernier message: 29/07/2010, 18h04
  3. Quel est La difference Entre Module Standard Et Module Classe
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/06/2008, 12h39
  4. Réponses: 6
    Dernier message: 02/12/2007, 10h30
  5. [VB] Différence entre "Module" et "Module de Classe"?
    Par gootsu dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 06/06/2006, 16h26

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