Récupérer valeur combobox dynamique [Résolu]

Signaler
-
 steph -
Bonjour,

pouvez-vous m'aider à solutionner mon pb en vba?

Voilà je crée dans un userform des textbox et label en dynamique, mais je n'arrive pas à récupérer les valeurs des textbox.

qd je lance le command button1, il me dit que l'objet n'existe pas.


En cherchant un peu quand même, ce serait parcequ'elles ne sont pas dans une classe. J'ai créer un module de classe mais je pense que je me trompe dans la construction.

je ne sais pas comment mettre le fichier exemple mais moyennant votre adresse mail, je vous le transmettrai!

Merci!

5 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
217
MsgBox Controls("TextBox1").Value
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 136 internautes nous ont dit merci ce mois-ci

Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
46
Salut

je ne sais pas comment mettre le fichier exemple mais moyennant votre adresse mail, je vous le transmettrai!

un copier collé de la partie de ton code qui cause le problème
et c'est vb.net /vba office qu'il fallait choisir dans la combo
fais attention la prochaine fois quand tu poses ta question
voila le code

dans la userform


pour construire ma userform :



Option Explicit
Dim Cl As Collection

Private Sub UserForm_Initialize()
Dim endlist7, endlist6, i As Integer
Dim ctlNew As Control
Set Cl = New Collection



endlist7 = 2
While Sheets("Bout").Cells(endlist7, 1).Value <> ""
endlist7 = endlist7 + 1
Wend
endlist7 = endlist7 - 1

endlist6 = 2
While Sheets("Bout").Cells(2, endlist6).Value <> ""
endlist6 = endlist6 + 1
Wend
endlist6 = endlist6 - 1

Set ctlNew = UserForm4.Controls.Add("Forms.label.1")
ctlNew.Left = 20
ctlNew.Top = 20
ctlNew.Caption = "Numéro de" & Chr(10) & " Bouteille"
Set ctlNew = UserForm4.Controls.Add("Forms.label.1")
ctlNew.Left = 80
ctlNew.Top = 20
ctlNew.Caption = "Pesée à la date du" & Chr(10) & Sheets("Bout").Cells(2, endlist6).Value & " (en kg)"
Set ctlNew = UserForm4.Controls.Add("Forms.label.1")
ctlNew.Left = 160
ctlNew.Top = 20
ctlNew.Caption = "nouvelle pesée du (en kg)"

For i = 3 To endlist7
Set ctlNew = UserForm4.Controls.Add("Forms.label.1")
ctlNew.Left = 20
ctlNew.Top = 33 + (i - 2) * 20
ctlNew.Caption = Sheets("Bout").Cells(i, 3).Value
Set ctlNew = UserForm4.Controls.Add("Forms.label.1")
ctlNew.Left = 90
ctlNew.Top = 33 + (i - 2) * 20
ctlNew.Caption = Sheets("Bout").Cells(i, 5).Value + Sheets("Bout").Cells(i, endlist6).Value
Set ctlNew = UserForm4.Controls.Add("Forms.TextBox.1", "TextBox" & i - 2, True)
ctlNew.Left = 140
ctlNew.Top = 30 + (i - 2) * 20
Cl.Add Cl
Next i



End Sub





jusque là pas de soucis


tjrs dans la feuille, pour récupérer la valeur :


Private Sub CommandButton1_Click()


MsgBox TextBox1.Value

End Sub




ensuite dans un module de classe, j'ai créé cela, mais toute cette partie module de classe est je pense pas du tout bien écrite...



Option Explicit

Public WithEvents Cl As MSForms.TextBox



voilà voilà!
jordane45
Messages postés
27324
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 janvier 2020
322
Bonjour,
c'est bien d'avoir utilisé les balises de code pour poster votre code source sur le forum.. c'est mieux quand vous écrivez votre code DANS les balises.
Exemple:
' mon code...
Dim Mavariable
'etc..
Vu que c'est la première fois que je poste ici, je n'ai pu m'en appercevoir qu'après avoir envoyé le message.

Mais effectivement, c'est mieux.
précision, c'est bien quand je lance le commandbutton que le système me dit que l'objet n'existe pas...
Excellent, résolu! merci ucfoutu!!