Textbox dans une frame

Fermé
Balou - 23 déc. 2016 à 08:56
 Balou - 26 déc. 2016 à 10:06
Bonjour à tous, besoin de votre aide et apprendre
Novice en VBA je cherche malgré tout à construire un fichier dans lequel je souhaite utiliser un userform.
Après une recherche sur le net j’ai réalisé un userform dans lequel s’affichent en fonction d’une variable plusieurs textbox.
Jusqu’à la tout fonctionne.
Maintenant je souhaiterais que les textbox s’intègre dans dans une frame.
Mais les textbox s’affichent en dehors de la frame

Voici le code , merci pour vos suggestions.

Incr = 8
PosX = 120

For i = 1 To nbcells 'boucle pour la création des TextBox

Set Obj = Me.Controls.Add("forms.Frame.1")
With Obj
.Caption = "TRACABILITE"
.Font.Bold = True
.Left = 6
.Top = 126
.Width = 114
.Height = 100

Set Obj = Me.Controls.Add("forms.TextBox.1")
With Obj
.Name = "TextBox" & i
.Object.Value = " "
.Left = PosX
.Top = 30 * ((i - 1) Mod 10) + 40
.Width = 100
.Height = 20
End With

'ajout de l'objet dans la classe
Set Cl = New Classe1
Set Cl.TextBox = Obj
Collect.Add Cl
If i Mod 10 = 0 Then PosX = PosX + 150
Incr = Incr + 1
End With
Next i


Merci pour votre aide, bonne journée.
A voir également:

4 réponses

thev Messages postés 1925 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 18 décembre 2024 692
23 déc. 2016 à 15:23
Ceci devrait mieux fonctionner


Set Frame1 = Me.Controls.Add("forms.Frame.1")
With Frame1
.Caption = "TRACABILITE"
.Font.Bold = True
.Left = 6
.Top = 126
.Width = 114
.Height = 100
End With
For i = 1 To nbcells
Set Obj = Frame1.Controls.Add("forms.TextBox.1")
With Obj
.Name = "TextBox" & i
.Object.Value = " "
.Left = PosX
.Top = 30 * ((i - 1) Mod 10) + 40
.Width = 100
.Height = 20
End With
Next i

1
thev Messages postés 1925 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 18 décembre 2024 692
Modifié par thev le 23/12/2016 à 10:29
Bonjour,

Essayer ceci

Set Obj = Me.Controls.Add("forms.Frame1")
With Obj
.Caption = "TRACABILITE"
.Font.Bold = True
.Left = 6
.Top = 126
.Width = 114
.Height = 100
End With
Set Obj = Me.Frame1.Controls.Add("forms.TextBox0")
With Obj
.Name = "TextBox" & i
.Object.Value = " "
.Left = PosX
.Top = 30 * ((i - 1) Mod 10) + 40
.Width = 100
.Height = 20
End With

--
 
0
Merci thev pour ton poste, mais ta proposition ne fonctionne pas.

Cette ligne créer une erreur si je laisse TextBox0
Set Obj = Me.Frame1.Controls.Add("forms.TextBox0")


J'ai testé avec TextBox.1 plus d'erreur, mais les TextBox ne s'affichent plus.

Je continu à chercher de mon coté.

A vous lire, merci pour votre aide.
0
Bonjour thev, cette solution fonctionne.

Merci pour ton soutien.
0