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 "publique" volatilisée par UserForm !


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 20
    Par défaut variable "publique" volatilisée par UserForm !
    Bonjour

    je travaille , sur Excel 2003 , et bricole comme je peux sur VBA ... En l'occurence , je coince sur un problème dont je ne trouve aucune explication , ni dans les bouquins ni dans les sujets de ce forum …
    Peut être pourrez vous éclairer ma lanterne …
    J'ai dans une feuille Excel un bouton qui active une macro nommée " AfficheEcran" , rédigée ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Sub AfficheEcran ()
           	Load UserForm1
            	UserForm1.Show
     ' ici apparaît l'écran , je le ferme par l'intermédiaire d'un CommandButton qui produit : Hide.UserForm1
     	Unload UserForm1
    End Sub
    Et bien , l'éxecution de cette dernière ligne , End Sub "vide" les variables publiques , jusque là , actives de l'ensemble du projet ….
    Mais , bizarrement , et bien que ce soit sur cette ligne précise que les variables se "vident" , le problème à l'air d'être produit par Unload UserForm1 … et plus étrange encore , si l'UserForm1 ne contient aucun bouton ( pur objet d'expérience ! ) et bien je passe sans dommage cette ligne End Sub …

    Enfin bref , je doute qu'expliqué comme ça , le problème soit très séduisant …. Néanmoins si quelqu'un veut bien se pencher dessus , je lui en serait infiniment reconnaissant ….

    A plus tard et Merci ...

  2. #2
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonsoir Jabveneau le forum dans le code du bouton dans ta feuille tu mets
    call AfficheEcran ou seulement AfficheEcran
    dans un module standard tu mets la macro AfficheEcran

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Option Explicit
    Sub AfficheEcran()
     UserForm1.Show
    End Sub
    ton commandbutton est dans l user je suppose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    UserForm1.Hide
    End Sub
    tu devrais garder les variables chargees

    ou simplement dans le code du bouton dans ta feuille


  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 20
    Par défaut
    Bonjour Laetitia
    quelques précisions :

    - le bouton dans ma feuille est un rectangle dessiné auquel j'affecte la macro "AfficheEcran" (proposé par le menu contextuel ) .... ce n'est pas un bouton avec code ...

    - la macro " AfficheEcran" est bien dans un module standard
    - mon CommandButton1 est bien dans l'UserForm comme tu le suppose

    A plus tard

Discussions similaires

  1. Update avec variable contenant une quote
    Par NejNej dans le forum Développement
    Réponses: 2
    Dernier message: 13/11/2009, 17h51
  2. rechercher variable contenant une quote
    Par fins51 dans le forum Access
    Réponses: 2
    Dernier message: 21/03/2007, 22h20
  3. Réponses: 3
    Dernier message: 20/01/2007, 20h36

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