Me.controls textbox

Résolu
Portos67 Messages postés 72 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 14 janvier 2013 - 12 mai 2010 à 19:09
Portos67 Messages postés 72 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 14 janvier 2013 - 13 mai 2010 à 01:28
Bonjour,

Je vais essayer de faire simple.

J'ai environ 450 textbox, dont je dois récupérer la valeur pour la stocké dans un fichier .ini
Le problème c'est que évidemment, je veux éviter de taper 450 textbox.text , etc... Donc j'ai créé une boucle, qui va me permettra de passer sur toutes les textbox. Le truc c'est que controls("textbox" & i).text, me renvoie une erreur sur cette ligne "la référence d'objet n'est pas définie à une instance d'un obget...

La galère, connaissez la bonne méthode ?

Merci

11 réponses

Portos67 Messages postés 72 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 14 janvier 2013 1
13 mai 2010 à 01:28
c'est bon j'ai trouvé mon erreur il fallait faire

frmListView.Tabpage1.Controls("textbox" & i + 1).Text)

au lieu de

frmListView.TabControl1.Controls("textbox" & i + 1).Text)



merci beaucoup !!!!
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
12 mai 2010 à 19:33
certainement que pour cette valeur précise de i, tu n'as pas de "textbox" & i qui existe dans ton écran

vérifie la valeur de i au moment ou survient l'erreur.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
Portos67 Messages postés 72 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 14 janvier 2013 1
12 mai 2010 à 19:35
voila code

For i = 1 To 40
sw.WriteLine("p" & i & "=" & frmListView.Controls.Item("textbox" & i + 1).Text)
Next


La textbox2 existe bien pourtant....
0
Portos67 Messages postés 72 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 14 janvier 2013 1
12 mai 2010 à 19:41
pardon j'ai fais une erreur

For i = 1 To 40
sw.WriteLine("p" & i & "=" & frmListView.Controls("textbox" & i + 1).Text)
Next
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
12 mai 2010 à 19:56
salut,
moi je ferais comme cela :

        Dim b As Control
        Dim f As IO.FileStream = New IO.FileStream(Application.StartupPath & "\blah.ini", IO.FileMode.OpenOrCreate)
        Dim sw As IO.StreamWriter = New IO.StreamWriter(f)
        For Each b In Me.Controls
            If b.Name.Contains("Text") = True Then
                sw.WriteLine(b.Name & "=" & b.Text)
            End If
        Next
        sw.Close()
        f.Close()
0
Portos67 Messages postés 72 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 14 janvier 2013 1
12 mai 2010 à 20:12
ouais pas mal la solution mais je viens de la tester, et cela ne marche pas, il ne trouve aucun control se nommant "text".
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
12 mai 2010 à 20:15
banana32 > Pas bon. Me.controls ne contient pas forcément, uniquement des textbox. Dans ton cas, tu traite tous les controls et pas uniquements les textbox.

Portos67 > Tes textbox sont-ils directement sur la form ?
Ne seraient-ils pas, par hasard sur un autre contener (panel, groupbox, ...)?
Si c'est le cas, c'est la collections Controls de ce contener qu'il faut traiter et non pas celle de la form.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
Utilisateur anonyme
12 mai 2010 à 20:45
Contains est sensible a la casse (majuscules minuscules). J'ai écrit Text mais tu as peut être text je ne sais pas.
casy -> on cherche les noms des contrôle contenant la chaine "text"

bonne soirée a tous les 2
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
12 mai 2010 à 20:50
on cherche les noms des contrôle contenant la chaine "text"

Ah!!! excuse moi, j'ai du mal interpréter la phrase suivante alors
Donc j'ai créé une boucle, qui va me permettra de passer sur toutes les textbox. Le truc c'est que controls("textbox" & i).text


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
Utilisateur anonyme
12 mai 2010 à 21:14
@casy -> oh tu sais des fois ca m'arrive aussi passe une bonne soirée ^^
0
Portos67 Messages postés 72 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 14 janvier 2013 1
13 mai 2010 à 01:18
casy tu as raison, mes textbox sont dans un tabcontrol.

J'ai essayé ceci mais ca ne marche pas, ou alors j'ai mal compris...

For i = 1 To 40
sw.WriteLine("p" & i & "=" & frmListView.TabControl1.Controls("textbox" & i + 1).Text)
Next
0
Rejoignez-nous