Me.controls textbox [Résolu]

Portos67 72 Messages postés vendredi 25 février 2005Date d'inscription 14 janvier 2013 Dernière intervention - 12 mai 2010 à 19:09 - Dernière réponse : Portos67 72 Messages postés vendredi 25 février 2005Date d'inscription 14 janvier 2013 Dernière intervention
- 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
Afficher la suite 

11 réponses

Répondre au sujet
Portos67 72 Messages postés vendredi 25 février 2005Date d'inscription 14 janvier 2013 Dernière intervention - 13 mai 2010 à 01:28
+3
Utile
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 !!!!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Portos67
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 12 mai 2010 à 19:33
0
Utile
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
Commenter la réponse de cs_casy
Portos67 72 Messages postés vendredi 25 février 2005Date d'inscription 14 janvier 2013 Dernière intervention - 12 mai 2010 à 19:35
0
Utile
voila code

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


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

For i = 1 To 40
sw.WriteLine("p" & i & "=" & frmListView.Controls("textbox" & i + 1).Text)
Next
Commenter la réponse de Portos67
Utilisateur anonyme - 12 mai 2010 à 19:56
0
Utile
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()
Commenter la réponse de Utilisateur anonyme
Portos67 72 Messages postés vendredi 25 février 2005Date d'inscription 14 janvier 2013 Dernière intervention - 12 mai 2010 à 20:12
0
Utile
ouais pas mal la solution mais je viens de la tester, et cela ne marche pas, il ne trouve aucun control se nommant "text".
Commenter la réponse de Portos67
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 12 mai 2010 à 20:15
0
Utile
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
Commenter la réponse de cs_casy
Utilisateur anonyme - 12 mai 2010 à 20:45
0
Utile
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
Commenter la réponse de Utilisateur anonyme
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 12 mai 2010 à 20:50
0
Utile
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
Commenter la réponse de cs_casy
Utilisateur anonyme - 12 mai 2010 à 21:14
0
Utile
@casy -> oh tu sais des fois ca m'arrive aussi passe une bonne soirée ^^
Commenter la réponse de Utilisateur anonyme
Portos67 72 Messages postés vendredi 25 février 2005Date d'inscription 14 janvier 2013 Dernière intervention - 13 mai 2010 à 01:18
0
Utile
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
Commenter la réponse de Portos67

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.