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

Macros et VBA Excel Discussion :

variable globale module


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut variable globale module
    Bonjour , dans l'une de mes macros j'ai une variable qui vaut m = fonction ( où fonction est une fonction que j'ai écrite ) .
    Je souhaiterais que la valeur de cette variable soit utilisable dans toutes les macros ou fonctions de mon module , c'est possible ?

    merci

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Avant de déclarer tes subroutines
    (de mémoire je n'ai ps d'exemples sous la main)
    Private variable as double 'enfin tu met ce que tu veux comme type
    Tu peux mettre Public a la place de private dans ce cas cela concernera l'ensemble de tes modules. Regarde l'aide F1 il me semble quelle été bien faite

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut
    ok merci

    finalement ya un petit problème , je déclare ma variable publique de cette manière ( publique veut dire accessible pour toutes les fonctions , macros ou procédures du module ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public variable As Integer
    Problème , à cette variable je veux affecter une valeur , valeur qui est le résultat d'une fonction qui renvoie un nombre aléatoire.

    j'ai essayé variable = alea(50,100) , ça n'a pas marché , j'ai regardé un peu sur le net et je n'ai pas trouvé de solution .

    Comment affecter une valeur ?

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    bonsoir,

    Dans un module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public m as ..... ' integer pour toi
    devrait suffire pour que la valeur de m soit accessible partout.

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut
    oui mais il faut que j'affecte une valeur à cette variable ... c'est ça que je ne sais pas faire .
    Par exemple pour une constante je sais le faire , je fais :

    mais pour la variable mes essais sont restés infructueux .

    En fait je me trompe peut etre dès le départ , Je dois avoir m qui vaut alea(10,50) pour tout le module , je devrais peut etre déclarer m comme constante , j'ai essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Const toto = alea(10,50)
    mais sans succès , j'ai le message d'erreur : constante requise , je ne comprends pas...

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Je ne te comprends pas !

    Une fois m déclarée comme je te l'ai indiqué, m est accessible et modifiable depuis partout (ce qui veut clairement dire que si, depuis n'importe où, tu écrivais m = 100, m vaudrait partout 100 tant que tu ne lui attribuerais pas une autre valeur) ...
    Je ne vois vraiment pas où est le problème !
    m aura ainsi partout la dernière valeur que tu auras pu lui attribuer (depuis quelque endroit de ton application que ce soit) !

Discussions similaires

  1. [Débutant] Variables globales pour les fonctions d'un module
    Par guillooom dans le forum Général Python
    Réponses: 6
    Dernier message: 25/03/2011, 15h25
  2. [AC-2003] Module de Variables Globales
    Par denisw95 dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/09/2009, 18h19
  3. Réponses: 4
    Dernier message: 14/05/2007, 13h44
  4. modules et variables globales
    Par piotrr dans le forum Général Python
    Réponses: 5
    Dernier message: 14/04/2007, 07h45
  5. Variable Globale dans un module de formulaire.
    Par wisiwi dans le forum Access
    Réponses: 5
    Dernier message: 30/03/2006, 14h03

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