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

steph - 9 sept. 2013 à 20:47 - Dernière réponse :  steph
- 10 sept. 2013 à 11:07
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!
Afficher la suite 

7 réponses

Meilleure réponse
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 10 sept. 2013 à 10:54
1
Merci
MsgBox Controls("TextBox1").Value

Merci ucfoutu 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - Modifié par cs_ShayW le 9/09/2013 à 21:03
0
Merci
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
0
Merci
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 22898 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 20 octobre 2018 Dernière intervention - 10 sept. 2013 à 11:00
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.
0
Merci
précision, c'est bien quand je lance le commandbutton que le système me dit que l'objet n'existe pas...
0
Merci
Excellent, résolu! merci ucfoutu!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.