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 :

Problème avec la porté d'une variable public


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 472
    Points : 71
    Points
    71
    Par défaut Problème avec la porté d'une variable public
    Bonjours à tous,

    J'ai déclaré une variable Public pour pouvoir l'utiliser dans différents modules mais le problème c'est que cette variable là quand je l'utilise dans mon code elle récupère bien la valeur la première fois mais quand je fais un autre appel à cette variable et beh elle se réinitialise à 0 et ça me pose problème.

    Ma variable contient le nombre de lignes de mon tableau dynamique c'est donc un entier.

    Avez vous une idée pour garder la valeur de cette variable ?

    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Points : 2 502
    Points
    2 502
    Par défaut
    Bonjour,

    Ci-dessous quelques pistes à explorer.

    quand je l'utilise dans mon code elle récupère bien la valeur la première fois mais quand je fais un autre appel à cette variable et beh elle se réinitialise à 0
    Entre l'utilisation, et la réinitialisation à 0 :
    - il n'y a pas un autre bout de code qui change la taille ?
    - tu n'as pas cliqué sur le bouton Stop du débugger de macro ?


    Est ce que tu n'as pas une autre variable qui porte le même nom ailleurs dans le code?
    Le problème est le même si tu appelle la variable en précisant le nom du module avant le nom de variable ex : Module1.Mavariable ?


    Ma variable contient le nombre de lignes de mon tableau dynamique c'est donc un entier.
    Est-ce que ça ne serait pas plus judicieux d'utiliser Ubound(MonTableau) à la place d'une variable globale ?
    voir Utiliser les variables tableaux en VBA

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Par définition, une variable Public ou global, à une portée sur tout le projet.
    Ton problème vient sans doute du fait que tu as défini cette variable dans un endroit qui par définition n’est pas public dans un UserForm par exemple là ta variable bien que public serra accessible que par UserForm1.mavariable=10 !
    Je te suggère d’insérer in module spécifique aux variable publics dans lequel on trouvera que les définitions de celles-ci.
    Public MyVarable as double
    Supprime toutes les public MyVarable et/ou dim MyVarable de ton projet pour ne garde que celle-ci.

Discussions similaires

  1. Problème avec le paramètrage d'une variable dans un lien pour un panier
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/09/2011, 13h07
  2. [MySQL] Problème avec la récupération d'une variable dans un lien pour un panier
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 23/06/2011, 13h58
  3. [MySQL] problème avec la récupération d'une variable session
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 16/06/2011, 15h01
  4. Réponses: 5
    Dernier message: 17/09/2010, 14h33
  5. Réponses: 2
    Dernier message: 16/11/2007, 18h38

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