[VB] Récupérer des contenus de TextBox
Julien
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je n'arrive pas à récupérer le contenu de TextBox créés dynamiquement. Il faudrait que j'arrive à stocker les valeurs entrées par l'utilisateur dans les différents TextBox dans un tableau. Voici le code que j'utilise pour générer les TextBox:
NbS est le nombre de TextBox souhaitées que l'utilisateur précise dans un précédent formulaire.
For i = 1 To NbS.Text
MonTextBox = New TextBox
MonTextBox.Name = "TextBox" & NumeroTextBox
Form2.Controls.Add(MonTextBox)
MonTextBox.Size = New Size(50, 25)
MonTextBox.Location = New Point(Form2.Width / 2 - 25, 25 * i)
MonTextBox.Visible = True
NumeroTextBox = NumeroTextBox + 1
Next
Je veux ensuite qu'en cliquant sur un bouton, les valeurs entrées soient stockées. J'ai essayé avec le code suivant, mais je ne sais pas trop comment indiquer le nom des TextBox:
Dim i, k As Integer
Dim TableauSommets(Form1.NbS.Text - 1) As String
For k = 0 To TableauSommets.Length - 1
For i = 1 To Form1.NbS.Text
TableauSommets(k) = Form1.Controls("TextBox" & i)
Next
Next
Dans le code, Form1.Controls("TextBox" & i) est souligné et le message d'erreur est "Une valeur de type 'System.Windows.Forms.Control' ne peut pas être convertie en 'String' et je ne sais pas comment faire.
Merci d'avance pour votre aide.
Julien
Je n'arrive pas à récupérer le contenu de TextBox créés dynamiquement. Il faudrait que j'arrive à stocker les valeurs entrées par l'utilisateur dans les différents TextBox dans un tableau. Voici le code que j'utilise pour générer les TextBox:
NbS est le nombre de TextBox souhaitées que l'utilisateur précise dans un précédent formulaire.
For i = 1 To NbS.Text
MonTextBox = New TextBox
MonTextBox.Name = "TextBox" & NumeroTextBox
Form2.Controls.Add(MonTextBox)
MonTextBox.Size = New Size(50, 25)
MonTextBox.Location = New Point(Form2.Width / 2 - 25, 25 * i)
MonTextBox.Visible = True
NumeroTextBox = NumeroTextBox + 1
Next
Je veux ensuite qu'en cliquant sur un bouton, les valeurs entrées soient stockées. J'ai essayé avec le code suivant, mais je ne sais pas trop comment indiquer le nom des TextBox:
Dim i, k As Integer
Dim TableauSommets(Form1.NbS.Text - 1) As String
For k = 0 To TableauSommets.Length - 1
For i = 1 To Form1.NbS.Text
TableauSommets(k) = Form1.Controls("TextBox" & i)
Next
Next
Dans le code, Form1.Controls("TextBox" & i) est souligné et le message d'erreur est "Une valeur de type 'System.Windows.Forms.Control' ne peut pas être convertie en 'String' et je ne sais pas comment faire.
Merci d'avance pour votre aide.
Julien
A voir également:
- [VB] Récupérer des contenus de TextBox
- Recuperer message whatsapp supprimé - Guide
- Impossible de récupérer mon compte gmail - Guide
- Vb - Télécharger - Langages
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
4 réponses
Bonjour,
regarde ce lien sur les controles des userform
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LI-B
regarde ce lien sur les controles des userform
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LI-B
Bonjour,
Dans la création de tes TextBox ajouter...
Et en VB.Net Voir ici
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Dans la création de tes TextBox ajouter...
MonTextBox.Tag = NumeroTextBox
Et en VB.Net Voir ici
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Bonjour,
Ce lien renvoie vers des explications sur du VBA. Or, je programme en VB. J'ai essayé d'adapter à ma situation, mais cela ne fonctionne pas.
Ce lien renvoie vers des explications sur du VBA. Or, je programme en VB. J'ai essayé d'adapter à ma situation, mais cela ne fonctionne pas.
Bonjour,
Peut être comme ça, à condition que soit déclarée, en variable globale, MonTextBox As Object.
;o)
Peut être comme ça, à condition que soit déclarée, en variable globale, MonTextBox As Object.
Dim i, k As Integer Dim myText As Object Dim TableauSommets(Form1.NbS.Text - 1) As String For k = 0 To TableauSommets.Length - 1 For i = 1 To Form1.NbS.Text Set myText = Form1.Controls("MonTextBox" & i) TableauSommets(k) = myText.Text Set myText = Nothing Next Next
;o)
NbS.Text me parait bizarre...
voici ce que j(aurais codé
1/en variable globale au dessus des codes de l'userform car je suppose que ce tableau va être utilisé ailleurs; si utilisation dans un module: passe en "Public tableausommets"et en 1° ligne du module avant les macros.
2/et pour le bouton de commande