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. 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 :)
    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. 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. 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. 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