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 :

appel de userforms


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Par défaut appel de userforms
    Bonjour à tous,

    Voilà mon problème :

    J'ai crée une vingtaine d'USF nommée p.ex. truc1, truc2, truc3, etc.

    Chaque USF contient une centaine de labels.

    Je voudrais faire une chose comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    letruc = "truc3"
    Userforms(letruc).Label23.Caption = "Test"
    Bien sûr, cela ne marche pas !

    Pourriez-vous m'indiquer comment appeler une UserForm à partir de son nom, celui-ci étant contenu dans une variable ?

    J'espère avoir été assez clair.

    Grand merci par avance.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 317
    Par défaut
    Bonjour,

    Essaie comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub choix_usf()
    Dim LeTruc As String
    Dim MonUsf As Object
    LeTruc = "UserForm1"
    Set MonUsf = ThisWorkbook.VBProject.VBComponents.Item(LeTruc)
    With VBA.UserForms.Add(MonUsf.Name)
        .Label1.Caption = "essai"
        .TextBox1 = "Coucou"
        .Show
    End With
    End Sub
    Bon Dimanche

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Par défaut
    Un grand merci pour cette très matinale réponse !!

    Je sens qu'on est tout près du résultat ... Je ne comprends pas bien qu'il faille passer par ces instructions assez obscures pour mon niveau, mais bon ...

    En fait, je souhaite utiliser le code que tu m'as donné dans un autre userform que LeTruc où j'ai simplement un TextBox et sur le CommandButton1_Click.
    La valeur du TextBox doit s'inscrire dans un Label de LeTruc, comme ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub CommandButton1_Click()
        Dim LeTruc As String
        Dim MonUsf As Object
        LeTruc = "Plomb" & leplomb
        lobservation = Me.TextBox1.Value
        Unload Me
        If leplomb = 0 Then LeTruc = "Plomb"
        Set MonUsf = ThisWorkbook.VBProject.VBComponents.Item(LeTruc)
        With VBA.UserForms.Add(MonUsf.Name)
            .Controls("Label" & lacalc).Caption = lobservation
            .Show
        End With
    End Sub
    lacalc étant une variable définie précédemment pour connaître quel Label doit être renseigné.

    Ce qui m'embête maintenant, c'est que l'instruction .Show ouvre une nouvelle fois le UserForm LeTruc et ce n'est pas vraiment ce que je souhaite ... J'ai bien essayé de remplacer .Show par .Load (comme elle est déjà ouverte) mais il n'en veut pas.

    Un grand merci pour le coup de main !

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Par défaut
    Bonjour,

    J'ai en partie résolu mon problème avec un long Select Case mais si quelqu'un a une autre solution à proposer, je suis toujours preneur.

    Merci d'avance pour vos réponses expertes !

Discussions similaires

  1. [XL-2003] passage du nom d'un userform appelant à un userform appelé
    Par Sécateur dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2010, 11h55
  2. appeler une userform
    Par Sarune dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/10/2009, 18h17
  3. Creer une maccro appelant un UserForm
    Par lilp1 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 13/05/2009, 15h02
  4. appeler une userform par un raccourci clavier
    Par 20100. dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/02/2008, 09h49
  5. [VBA-E] appeler un UserForm
    Par LaPanic dans le forum Excel
    Réponses: 5
    Dernier message: 04/09/2007, 19h56

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