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 :

Passage d'arguments à un Userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 207
    Par défaut Passage d'arguments à un Userform
    Bonjour,

    J'aimerai pouvoir passer des arguments à userform lors de son appel.
    Pour appeler un userform, j'utilise la méthode suivante:

    En cherchant dans l'explorateur d'objets, j'ai d'ailleurs été étonné que cette méthode ne soit pas référencée pour les userform!
    Mais il ne me semble pas qu'il soit possible de passer des arguments à cette méthode (et si c'est le cas, je ne sais pas comment on fait pour les récupérer).

    Actuellement j'utilise des variables ou des objets publics pour pouvoir les utiliser dans les userform que j'appelle mais je souhaiterai pouvoir faire quelque chose de plus générique (une sorte de template).

    Faut-il donc en passer par la création d'un module de classe ou y a-t-il plus simple?

    Merci!

  2. #2
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Par défaut
    Un userform est un ensemble de control , un objet . On ne peut pas l'appeler avec des paramètre. Par contre tu peux ,comme tu le dis, définir des attributs ou des variables 'globales' dans un module de classe. En fonction de ces variables tu peux modifier les textes , des labels , déplacer ou rendre invisible certains controls.

    Ce que je te conseille, c'est d'initialiser ces variables dans la procédure initialize du Userform et ensuite de les modifier en fonction des événements.

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Tu déclare publiques tes variables dans le module du formulaire et ensuite tu les préfixe avec le nom du formulaire comme ceci : UserForm1.MaVariable = "Ce que tu veux", de cette façon tu y a accès avec l'intellisense.
    Exemple, dans ton module standard ou d'un autre UserForm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub Ouvrir()
     
        UserForm1.MaVariable = "Sclarckone"
     
        UserForm1.Show
     
    End Sub
    Dans ton UserFrom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public MaVariable As String
     
    Private Sub UserForm_Click()
     
        MsgBox MaVariable
     
    End Sub
    Hervé.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 207
    Par défaut
    Ok merci à tous les deux pour les suggestions. Celle de Theze me parait plus simple, j'essayerai tout ça bientôt.

Discussions similaires

  1. passage d'argument sur l'imprimante
    Par linux dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 07/10/2005, 16h25
  2. [JAVASCRIPT] passage d'argument à une fonction
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 03/06/2005, 18h17
  3. [TASM] Passage d'argument à une macro
    Par sorry60 dans le forum Assembleur
    Réponses: 13
    Dernier message: 23/04/2005, 18h22
  4. [web] passage d'arguments à un CGI
    Par ma2th dans le forum Web
    Réponses: 4
    Dernier message: 20/08/2004, 12h18
  5. passage d'argument à la procédure main ()
    Par Zazeglu dans le forum C
    Réponses: 5
    Dernier message: 01/09/2003, 19h59

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