Ajout dynamique de textbox à un formulaire

Bonjour,

Après un long moment consacré à une recherche personnelle afin de trouver une solution, je fais appel à vos lumières sur ce forum car je n'avance plus.

Je dois remplir de manière automatique un tableau excel. Chaque ligne de ce tableau comporte les info suivantes : Nom, Prénom, Age, Ville, type véhicule, quantité, lieux.

Pour remplir ce tableau, j'ai crée un UserForm1 composé d'un multipage qui, lui-même, comprend deux pages : Info générale (Nom, Prénom, Age, Ville) et une page Véhicule (Type, quantité, lieux).

Une personne peut détenir plusieurs véhicules. Donc les info liés à une personne (renseignée dans Info Générale) s'appliquent à autant de lignes qu'il y a de véhicules dans la 2ème page du multipage.

J'ai réussi à traduire cette partie dans le code en bidouillant un peu. D'ailleurs, si vous savez simplifier cette partie du code, je suis preneur, ca ne pourra que me faire progresser.

Par défaut, l'utilisateur peut renseigner 5 véhicules dans la deuxième page. Mais, je voudrais avoir la possibilité d'en ajouter un nombre infini. Et là, je bloque totalement. J'ai réussi à en ajouter un mais je ne sais absolument pas comment passer de +1 à +n, sachant qu'il faut que les attributs Top et Width des textbox crées doivent évoluer.

Je vous joins donc le fichier et fais appel à vos lumières.

Un grand merci par avance.

Bensi.

236base.xlsm (28.42 Ko)

Bonjour,

J'avais un problème quasiment identique et en bidouillant un peu votre code j'ai trouvé la solution.

En ce qui me concerne je ne passe pas par un deuxième userform pour ajouter une ligne. Je souhaitais juste que quand je click sur le bouton une ligne s'ajoute dans le même frame du même userform. J'ai donc défini la hauteur de ma TextBox en fonction du nombre de click sur le bouton effectué. Il ne restait plus qu'a compter le nombre de click sur le bouton et ca donne ca:

Dim Click1 As Integer

Private Sub CommandButton1_Click()

    Dim TextBox06 As Control
    Dim TextBox16 As Control
    Dim TextBox26 As Control

    Click1 = Click1 + 1

    Set TextBox06 = Données.MultiPage1.Pages(1).Frame24.Controls.Add("Forms.Textbox.1", "TextBox06", True)
    TextBox06.Left = 0
    TextBox06.Top = 72 + Click1 * 18
    TextBox06.Width = 60
    TextBox06.Height = 15.75

    Set TextBox16 = Données.MultiPage1.Pages(1).Frame24.Controls.Add("Forms.Textbox.1", "TextBox16", True)
    TextBox16.Left = 60
    TextBox16.Top = 72 + Click1 * 18
    TextBox16.Width = 72
    TextBox16.Height = 15.75

    Set TextBox26 = Données.MultiPage1.Pages(1).Frame24.Controls.Add("Forms.Textbox.1", "TextBox26", True)
    TextBox26.Left = 132
    TextBox26.Top = 72 + Click1 * 18
    TextBox26.Width = 78
    TextBox26.Height = 15.75

End Sub

j'espère que ca pourra t'aider.

Rechercher des sujets similaires à "ajout dynamique textbox formulaire"