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 :

Userform-CommandButton-variable remise à 0.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    ingénieur automobile
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : ingénieur automobile
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Par défaut Userform-CommandButton-variable remise à 0.
    Salut,

    je débute en VBA. J'ai cherché un certain temps dans les différentes discussions mais là je ne trouve pas.

    Au lancement d'une macro, je cherche à ouvrir une fenêtre de dialogue pour que l'utilisateur puisse faire un choix entre 2 valeurs prédéfinies, et ensuite la séquence de calcul principale doit continuer selon le choix fait.
    J'utilise donc un userform avec 2 CommandButton. L'utilisateur clique sur le commandbutton qui lui convient. Dans le code du commandbutton1 je met variable=10, et dans le code du commandbutton2 je met variable=100.
    Jusque là ça marche. J'ai vérifié en affichant la valeur de ma variable dans une case Excel.

    Le problème apparait ensuite : dans la macro principale, ma variable est remise à 0, et n'est plus égale à 10 ou 100 comme je souhaite.

    Savez-vous d'où pourrait venir l'erreur ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Où et comment sont déclarés tes variables ?

    Philippe

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    comme le subodore Philippe (et moi aussi), la portée de ta variable est mal calibrée

    déclare la dans un module standard en public

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public MaVariable As Long ' adapter le type si besoin

  4. #4
    Candidat au Club
    Homme Profil pro
    ingénieur automobile
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : ingénieur automobile
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Par défaut
    J'ai déclaré ma variable dans la 1è ligne de la macro principale, avant le Sub().

  5. #5
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Dans le module du Userform ou un module standard ?

    Tes procédures qui utilisent cette variable sont toutes situées dans le même module ? Userform ou Standard ?

    Peux-tu nous montrer le code complet de ce module, on y verra plus clair

  6. #6
    Candidat au Club
    Homme Profil pro
    ingénieur automobile
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : ingénieur automobile
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Par défaut
    J'avais utilisé Dim Variable As Integer.
    Avec Public variable As Long ça marche !

    Merci

    Maintenant je vais essayer de comprendre la différence entre ces 2 types de déclarations...

  7. #7
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Toutes tes interrogations auront réponse ici : http://silkyroad.developpez.com/VBA/LesVariables/

    La portée des variables est présentée en partie V

Discussions similaires

  1. [XL-2010] Contrôle Userform en variable
    Par curt dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/03/2011, 16h12
  2. [Toutes versions] le nom de l'userform en variable
    Par patricktoulon dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/06/2010, 15h35
  3. Variable remise à zéro
    Par chanx dans le forum Langage
    Réponses: 2
    Dernier message: 14/03/2008, 12h26
  4. userForm et variables
    Par afssaLERH dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/10/2007, 14h41
  5. [Excel] - UserForm (Object variable not set)
    Par Chewi dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/02/2007, 11h10

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