[VB] Création dynamique de TextBox

Bonjour,

Savez vous comment créer dynamiquement un objet de type Text Box sous VB?

Par exemple, on a une feuille avec une TextBox et un bouton.

On saisit 3 ds la textbox, on valide et ca genere trois nouvelles textbox...

Merci d'avance

A+
Erwan51

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Voila, je pense que ca pourrai t'aider s'il n'est pas trop tard. J'ai eu un peu de mal mais j'ai fouillé un peu partout sur le net des solutions. Mon objectif etait le meme que toi.

    Private Sub Valider_Click()

    Dim Top, Left, Width, Height, i As Integer
    Dim NumeroTextBox As Integer
    Dim TextBoxName As String

    Top = 150
    Left = 150
    Width = 2000
    Height = 275
    NumeroTextBox = 1

    For i = 0 To 4 - 1

    TextBoxName = "NomdelaTextBox" & NumeroTextBox
    Set TextBox = Controls.Add("VB.textbox", "" & TextBoxName & "", Ouverture) 'Ouverture est le nom de ma fenetre

    With TextBox
    .Visible = True
    .Top = Top 'Definit la distance entre le bord de la fenetre et le bord du conteneur
    .Left = Left 'Definit la distance entre le bord gauche de la fenetre et le bord du conteneur
    .Width = Width 'Definit la largeur de l'objet
    .Height = Height 'Definit la hauteur de l'objet
    .Font.Size = 8
    End With

    Top = Top + 500
    NumeroTextBox = NumeroTextBox + 1

    Next

    End Sub
    1. Bonjour,

      Le message date de quelques années, mais je tente tout de même... J'essaye de faire exactement la même chose que le programme précédent, mais je ne comprend pas cette ligne :
      Set TextBox = Controls.Add("VB.textbox", "" & TextBoxName & "", Ouverture)
      je débute en VB, pourriez-vous m'expliquer ?

      Jane
      1. Modérateur
        Bonjour,
        Pas grave pour la remontée du vieux message...
        Je n'ai personnellement jamais créé d'objet de manière dynamique, mais si vous débutez, je vous recommande ce lien très utile, et bien expliqué...
        Bon courage pour la suite.
      2. simplement qu'il ajoute une textbox de nom "textBoxName" dans son Form "Ouverture"

        Si je ne me trompe pas.
      3. réponse tardive ^^
        "et hop !", lorsque tu a posté ce message, je n'aurais rien compris au terme vb.net, a la prog et tout ca...
        en un an, j'ai bien prograssé(j'ai 15 ans)... bon aller fini de raconter ma vie
        je voulais dire que:
        Set TextBox = Controls.Add("VB.textbox", "" &TextBoxName & "", Ouverture)
        signifie:
        on ajoute une textbox de nom:(contenu de TextBoxName car c'est une variable) dans la form(feunetre) de nom ouverture qui existe déja
        lorsqu'on déclare un objet, le nom est toujours entre guillemets or la, c'est entre deux paires de guillemets avec les signes & qui servent à inclure la variable TextBoxName dans les guillemets. on aurait donc pu écrire cette ligne ainsi:
        Set TextBox = Controls.Add("VB.textbox", TextBoxName, Ouverture)
        ou ainsi:
        Set TextBox = Controls.Add("VB.textbox", "NomdelaTextBox1", Ouverture)

        bien à vous :)
      4. je veux limiter saisie aux chiffres dans les textbox comment faire !!? o.O