Excel VBA créer des texbox

Résolu/Fermé
patrice - 12 mars 2011 à 12:24
 patrice - 13 mars 2011 à 09:44
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
A voir également:

4 réponses

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
bonjour,

la question est elle toujours d'actualité ?

Qu'as tu déjà essayé?

Comment est 'lancée' le userform ?

A+
0
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
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