Ajout dynamique de controles sur un UserForm

Résolu
Bonjour,

Une fois n'est pas coutume ..

J'ai besoin d'une aide concernant VBA et l'utilisation des UserForm.

Etait-il possible de créer dynamiquement des contrôles sur un UserForm ?

Voilà, j'ai plusieurs controles sur un UserForm qui est un masque de saisie (textbox et checkbox) pour Nom, Prenom, Tel ...
Je veux qu'il apparaisse autant de lignes de saisie que de personne à renseigner. Sachant que la liste des personnes se trouve sur une feuille Excel. Je ne sais pas si c'est clair ... :os

C'est possible en VB6 par le code (exemple sur https://vb.developpez.com/faq/?filtre=OOOOOOOOOOOOOOOOOOOOOO chapitre 3.1), mais ça ne marche pas en VBA ...

Merci de votre aide ...

;o)

Polux
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. Bonjour

    Dim MaTextBox As Object
    Set MaTextBox = UserForm1.Controls.Add("Forms.TextBox.1")
    MaTextBox.Text = "tutu"

    ("Forms.TextBox.1" est une constante indiquée dans l'aide de VB sur la méthode Add)
    4
    1. Bonjour,

      Merci le père pour ta réponse, je vais tester ça en espérant que ça marche ...

      ;o)

      Polux
      0
      1. Bonjour le père,

        Merci pour ton aide, ça marche très bien ... j'ai maintenant un autre problème.
        J'ai créé dynamiquement des CommandButton, mon problème est d'affecter un évènement sur le click du bouton créer. En résumé, comment récupérer les différents évènements (click, dblclick, Keypress ... etc) d'un contrôle créé dynamiquement ?

        Merci encore pour ton aide.

        ;o)

        Polux
        0
        1. Bonjour

          J'ai le meme probleme, je ne parviens pas à affecter un evenement ( _click.....) à un bouton créé de manière dynamique
          As tu trouve une solution ?

          Merci de ton aide
          Bertr64
          0
      2. si t as trouve la solution a ton probleme est ce que tu pourrais l ecrire. j ai le meme probleme.

        merci
        0
        1. J'ai le meme probleme ca serait bien qu'un petit genie reponde a ce sujet.
          Je peux fournir le fichier excel mais faut m'expliker comment.

          Merci par avance
          0
          1. Contributeur
            met ton post en résolu !!!

            et merci pour vos réponses :)
            0
            1. Salut moi j'ai un probleme, quand je créé mes contrôles dynamiquement après fermeture de la form je trouve pas les contrôles ajoutés, merci de votre aide
              0
              1. Si tu fait un Hide de ton user form c'est normal, il est caché mais toujours en mémoire.
                Pour un userform il faudrait faire :
                load MonForm 'Charge le formulaire en mémoire (évènement initialize)
                MonForm.show 'Affiche le userform à l'écran
                ...
                MonForm .hide 'Cache à l'écran (équivalent à un visible = false)
                unload MonForm 'Vide la mémoire du formulaire
                
                0