Problème de déclaration de variable globale

Résolu
Bonjour à tous ! Pour moi c'est une première sur comment ça marche.net!

Alors voila : J'ai un problème pour déclarer mes varaibles : Impossible depuis le début de mon projet de déclarer une variable globale au projet.

Je pense qu'il y a une option quelque part à activer mais je ne parviens pas à trouver où!

Merci d'avance!

Mickaël

5 réponses

  1. Bonjour,

    Tu travailles avec quoi ?
    0
    1. Bonjour,

      Autant pour moi! Il s'agit d'un projet VBA que je réalise sous word 2010. Mon projet comprend des modules et des formulaires, je souhaite définir une variable globale sur tout le projet.
      0
      1. Salut,

        Tu la déclares comment ta variable globale ?

        En principe on déclare la variable en début de module, avant toutes procédures.

        Public var As Integer

        var sera visible dans tout le code et par tous les modules.

        Si tu veux quelque chose de propre et si tu as plusieurs variables globales, tu fais un module que pour ça que tu nommes par exemple : ModVarGlobales

        Tu déclares les variables comme privées au Module : Private var As integer

        Et tu fais des getters pour les lire et des setters pour leur affecter une valeur:

        Public sub setVar (byval num as integer)
             var = num
        End Sub
        
        Public Function getVar()
             getVar = var
        End Function


        «Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
        Nicolas Boileau
        0
        1. Contributeur
          Bonsoir polux,

          tu pourrais développer un peu le pourquoi de les rendre privées et de les appeler de cette façon stp ?
          On ne se complique pas la vie pour rien. Je pressens un intérêt mais il ne me saute pas aux yeux ;-)

          eric
          0
        2. Salut Eriiic,

          Ça fait plaisir de te recroiser ici.

          Il n'y a pas d'obligation de les rendre privées. Perso je préfère cette méthode que j'estime plus "propre". Après c'est une question de conception de son code. Pour ma part, j'organise mon code par module. Un module n'effectuant qu'une tâche précise. D'où mon habitude de faire des accesseurs pour les attributs que je déclare toujours privés dans mes modules :0)

          Ceci dit, même si MS Office permet d'utiliser un éditeur VB, ce n'est pas fait pour faire des applications complexes mais des "macros" pour automatiser des tâches répétitives et fastidieuses.

          ;0)
          0
        3. Contributeur
          Merci
          Bonne fin de WE :-)
          eric
          0
      2. Bonjour!

        J'ai finalement trouvé mon erreur, je déclarais les variables dans un formulaire, du coup les variables qui auraient du être globales n'étaient pas visibles dans les modules.

        Pour moi c'est pas logique, une variable globale doit être globale pour les modules et les formulaires...

        Bref, en la déclarant dans un module cela la rendue visibile dans les modules et dans le code des formulaires.

        Merci pour votre aide!
        0
        1. comment tu fais ta déclaration???

          0