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 :

paramétrage d'un Userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 29
    Par défaut paramétrage d'un Userform
    Bonjour,

    J'ai une macro qui fonctionne bien et j'aimerai la rendre un peu plus conviviale notament en économisant les inputbox nécessaire au lancement du programme.
    Je me suis donc lancé dans la création d'un userform et là j'ai deux problémes comment transmettre mes variables "textebox" à ma macro et comment lancer ma macro à partir de mon userform?

    merci beaucoup pour toutes vos suggestions

  2. #2
    Membre éprouvé Avatar de Many31
    Profil pro
    Inscrit en
    Février 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 198
    Par défaut
    En rendant ta macro publique (Private sub ==> Public sub)
    En mettant tes variables publiques elles aussi (Public ma_variable As Integer qui doit être placé tout en haut de ta feuille de code... en dehors des sub ou des fonctions)
    En appelant tes variables depuis ta macro ou inversement (ex:Feuil3.ma_variable, UserForm1.mon_autre_variable)

    Pour appeler ta macro c'est le même principe (si par exemple elle est dans le Module 1: Module1.Ma_Macro)

    Et pour lancer un Userform:
    Load Userform1
    Userform1.show

    (si tu veux lancer la macro au démarrage de la userform utilise l'événement initialize:
    Private Sub UserForm1_Initialize() dans le code de l'Userforme)

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

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour
    Une autre solution (je n'aime pas les variables publique mais c'est plus par principe)
    Dans ton userform tu créé un bouton qui appelle ta macro
    Il suffit de mettre son nom
    ou Et tu initialise tes varaible en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var1=userform1.textbox1
    var2=userform1.textbox2
    ...

  4. #4
    Membre éprouvé Avatar de Many31
    Profil pro
    Inscrit en
    Février 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 198
    Par défaut
    si tu n'aime pas les variables publique tu peux aussi les mettre en paramètre d'entrée dans la macro... c'est encore plus propre et ca évite de les perdres

    dans Userform1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call Tamacro(textbox1, textbox2)
    ta macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sub Tamacro(var1 as string,var2 as string)

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour tous,
    Ma version
    Dans le corps de la macro, quand tu veux remplacer ton InputBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        UserForm1.Show
        'Quand l'utilisateur clic sur OK (par exemple) mettre dans l'UF
        'Me.Hide
        'Retour dans la macros.. exemple,
        A = UserForm1.TextBox1
        B = UserForm1.TextBox2
        Unload  UserForm1
    A+
    PS : il n'est pas nécessaire de Loader un UF avant de le faire "jouer"

  6. #6
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 29
    Par défaut Rendre la saisie de la textbox obligatoire
    merci pour toutes vos réponses.

    j'ai encore un problème:Comment rendre la saisie de la textbox obligatoire avant la sortie du userform?

    cordialement

Discussions similaires

  1. [SAX] Chargement d'un fichier de paramétrage
    Par doublep dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 05/12/2004, 21h42
  2. [PGA]paramétrage dynamique
    Par phig dans le forum Administration
    Réponses: 2
    Dernier message: 25/10/2004, 18h30
  3. [WAS5] paramétrage serveur
    Par seb-16000 dans le forum Websphere
    Réponses: 11
    Dernier message: 21/06/2004, 13h30
  4. [VBA EXCEL] Réduire/Agrandir UserForms
    Par Fench dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/11/2003, 17h02
  5. Paramétrage du DBEXTRACT
    Par mikouts dans le forum XMLRAD
    Réponses: 7
    Dernier message: 23/01/2003, 15h49

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