none
Utilisation de variables publiques RRS feed

  • Question

  •  

    Bonjour,

     

    Je suis dans un fichier excel qui utilise plusieurs validations et plusieurs fonction.

     

    Je suis code les validation et j'aimerais savoir comment fonctionne les variables publiques. Pour être sur que j'utilise le bon terme je vais vous expliquer.

    En ouvrant le ficher, une série de fonction vont se mettrent en marche.

    J'ai plusieurs module et j'aimerais savoir comment fonctionne une variable que je peux utiliser dans le même module mais par plusieurs fonctions (comme un total par exemple) Ou à travers plusieurs module (comme un grand total par exemple).

    Je ne sais pas s'il a une différence "intra-module" et "extra-module" mais je sais qu'il est possible de faire quelque chose.

    Est-ce une déclaration dans chaque module, est-ce une déclaration dans le projet?

     

    Bien évidemment je suis avec VBA.

     

    Merci beaucoup!

     

    Mathieu

    mercredi 10 septembre 2008 18:35

Réponses

  •  

    Ça fonctionne!

     

    La syntaxe exacte est

     

    Code Snippet

     

    Option Explicit


    Public lMessage As Long

     

     

    Il n'est pas nécessaire d'utiliser le "global" mais C'est le "Option Explicit" qu'il me manquait.

     

    Merci beaucoup!!

     

    Edit: ne pas déclarer ces variables dans des codes de formulaires ni de modules-feuilles ou module thisworkbook

    vendredi 12 septembre 2008 13:18

Toutes les réponses

  • Tu n'as qu'a déclarer ta variable au début du fichier et ajouter Public devant la déclaration, elle va visible par tout les objets de ton classeur Excel.

     

    PS. j'ai déplacer ta question dans la section VBA.

     

    mercredi 10 septembre 2008 19:48
    Modérateur
  • Merci,

     

    mais ceci fonctionne seulement à l'intérieur d'un même module.

     

    Mais comment faire pour qu'elle soit accecible par tout le projet.

     

    Exemple :

     

    J'ai trois modules (Ajout, Soustraction et Inscrire)

    Dans le premier j'ai deux fonction, une qui prend la variable et fait un addition de 1, et l'autre de 10.

    Dans le deuxieme c'est comme le premier mais avec... des soustraction de 1 et un de 10.

    Dans mon troisieme module, j'ai une fonction qui inscrit la varible dans ma feuille excel.

     

    Où dois-je déclarer ma variable pour qu'elle soit accecible partout.

     

    Avec un Public en haut avant le code je peux l'utiliser avec n'importe quelle fonction à l'intérieur du même module.

    Je crois que ce serait plus une variable globale, est-ce possible?

     

    Merci encore!!!

    jeudi 11 septembre 2008 14:02
  • Dans un de tes modules tu fais un truc du genre (attention je n'ai pas ouvert VBA pour la syntaxe...):

     

    Code Snippet

    Option Explicit

     

    Public dim maVariable Globale as Integer

     

    public function Ajout() as integer

    ...

    end function

     

    ...

    ...

    ..

     

     

     

     

     

     

    jeudi 11 septembre 2008 20:04
    Modérateur
  •  

    Ça fonctionne!

     

    La syntaxe exacte est

     

    Code Snippet

     

    Option Explicit


    Public lMessage As Long

     

     

    Il n'est pas nécessaire d'utiliser le "global" mais C'est le "Option Explicit" qu'il me manquait.

     

    Merci beaucoup!!

     

    Edit: ne pas déclarer ces variables dans des codes de formulaires ni de modules-feuilles ou module thisworkbook

    vendredi 12 septembre 2008 13:18
  •  

    Erreurs! La première, c'est la mienne, je voulais écrire maVariableGlobale en un mot et j'ai mal écrit. DEuxièment, le Option Explicit ne permet pas la globalité des variables, mais plutôt force toutes les variables à être définit explicitement. 

    vendredi 12 septembre 2008 20:26
    Modérateur