Appel contrôles et userform par variables

Résolu
Bonjour,

Je précise tout pour que cela puisse servir, éventuellement à d'autres ...

J'avais un premier soucis qui était d'appeler un userform via une variable que j'ai résolu grâce aux forum avec ceci:


mavariableusf = "usfcible"
VBA.UserForms.Add(mavariableusf).Show

J'avais un second soucis que j'ai résolu de la même manière qui était celui de mémoriser le nom de la variable sur plusieurs modules.

qui donne en tête de module:


Global mavariableusf As String

Je parviens donc désormais à ouvrir mon userform avec une variable dans le module que je souhaite.
Ce que je ne parviens pas à faire c'est remplir les valeurs de controles inclus dans l'userform qui viens d'être ouvert avec la variable.

Pour plus de simplicité, je joint un fichier exemple ou, en feuille1 un bouton appelle un userform de départ dans lequel un deuxième bouton appelle un module qui lance un deuxième userform dont le nom est une variable(jusqu'a là, tout va bien).
dans ce deuxième userform j'ai un textbox, un checbox, et un label......que je souhaiterais remplir en cliquant sur le bouton appel valeurs mais cela ne fonctionne pas et la macro ne génère pas d'erreur.

https://www.cjoint.com/?DAxkkldPSdA

Merci à tous

6 réponses

  1. Bonjour,

    Comme ça, ça ira mieux :

    Private Sub boutonappelvaleurs_Click()
    
    Me.TextBox1.Value = "Voila enfin mon texte"
    Me.CheckBox1.Value = True
    Me.Label1.Caption = "c'est parfait"
    
    End Sub


    ;0)

    «Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
    Nicolas Boileau
    1. Merci Polux pour ton intervention mais en fait j'ai buggé dans mon explication puisque l'appel des valeurs de controles doivent se faire au lancement de userformcible et non via le bouton appelvaleurs:


      Global mavariableusf As String

      Sub ouvrirusfcible()

      mavariableusf = "usfcible"

      'ce qui ne fonctionne pas:
      VBA.UserForms.Add(mavariableusf).TextBox1.Value = "Voila enfin mon texte"
      VBA.UserForms.Add(mavariableusf).CheckBox1.Value = True
      VBA.UserForms.Add(mavariableusf).Label1.Caption = "c'est parfait"

      'et cela fontionne
      VBA.UserForms.Add(mavariableusf).Show

      End Sub


      Je me suis trompé pour l'exemple en piéce jointe

      Si tu as quand même la solution, je suis preneur
      1. Le bouton ne sert à rien alors ?

        Private Sub UserForm_Initialize()
            Me.TextBox1.Value = "Voila enfin mon texte"
            Me.CheckBox1.Value = True
            Me.Label1.Caption = "c'est parfait"
        End Sub


        A mettre dans l'éditeur de l'UF ...

        :0)

        «Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
        Nicolas Boileau
        1. Ok ça fonctionne dans l'exemple mais j'ai vraiment besoin de rester dans le module ouvrirusfcible pour appeler les valeurs et là le Me. ne fonctionne pas

          désolé et merci encore
          1. Mea culpa Polux, il est vrai que j'ai voulu faire un fichier exemple simplifié pour le forum mais je me suis un peu planté dans la structure de celui-ci.
            Ta solution répond maintenant parfaitement à mon besoin et je te remercie pour ton intervention....et ta patience :)