Excel VBA créer des texbox

Résolu
patrice -  
 patrice -
Bonjour,

Au lieu de placer préalablement des textbox sur une form, je souhaiterais les rajouter dynamiquement.
Après avoir essayé plein de choses qui ne fonctionnent pas, quelqu'un pourrait-il me donner les instructions nécessaires?

Merci d'avance

4 réponses

Paf
 
Re,

ci dessous le code à intégrer dans la macro avant l'appel au UserForm.

A adapter pour le nom du UserForm ,le positionnement et les dimensions des TextBox

Dim TextBoxName As String
Dim MyControl As Control
PosTop = 0
PosGauche = 15
Largeur = 20
Hauteur = 27

For i = 1 To 42

 TextBoxName = "TextBox" & i
 Set MyControl = MonUserForm.Controls.Add("Forms.TextBox.1")

 With MyControl
    .Name = TextBoxName
    .Visible = True
    .Top = PosTop 
    .Left = PosGauche 
    .Width = Largeur 
    .Height = Hauteur 
 End With

 PosTop = PosTop + 30

Next

MonUserForm.Show


Bon courage
1
Paf
 
bonjour,

la question est elle toujours d'actualité ?

Qu'as tu déjà essayé?

Comment est 'lancée' le userform ?

A+
0
patrice
 
Bonjour Paf

Merci de t'intéresser à ma question.
Pour répondre à tes questions: le Userform est lancé avec une macro et oui la question est toujours d'actualité.

En fait j'ai mis sur ma userform 7 textbox horizontal afin de saisir des données (nom, prénom,adresse,etc.
Ca me permet de traiter une personne.

Je peux cependant avoir à traiter jusqu'à 6 personnes en même temps. Il faut donc que je mette sur ma feuille 6 lignes de 7 textbox.
Jusque là je sais faire.

Afin de ne pas mettre les 42 textbox (6x7) sur mon userform sous forme graphique, j'aurais souhaiter créer dynamiquement (par code vba) les texbox. Ce qui allégerait mon espace graphique.
J'espère avoir été clair.

Patrice
0
patrice
 
Bonjour Paf,

Merci d'avoir sacrifié quelques minutes de ton dimanche pour m'aider. Tes lignes fonctionnent bien et je les ai adaptés quand le userform est activé.
Bonne journée.

Problème résolu.
Cordialement

Patrice
0