Creer une boucle pour lire le contenu de textbox

Résolu
jraynald Messages postés 45 Date d'inscription lundi 1 mai 2000 Statut Membre Dernière intervention 25 février 2012 - 6 janv. 2008 à 14:39
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013 - 1 mai 2009 à 20:25
Bonjour
J'ai une form avec une dizaine de textbox et je désire par une boucle allez lire le contenu des textbox de 2 à 9 par exemple
j'ai fait une boucle du style
for i=2 to 9
lecture=textbox(i).text
next i
mais ça ne fonctionne pas

12 réponses

Utilisateur anonyme
6 janv. 2008 à 14:51
Salut,

Tes TexteBoxs sont-elles indexées ? (Propriété Index)

__________
  Kenji
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 janv. 2008 à 15:07
Salut kenji;

pas de groupes de contrôles indexés sous VBA, à ma connaissance....
Nous sommes ici dans :
Thèmes / Visual Basic 6 / Langages dérivés / VBA
en conséquence, cette ligne :
lecture=textbox(i).text
(pêchée je ne sais où)
ne saurait correspondre à une syntaxe VBA !!!


Il y a une solution avec la collection Controls, mais comme on ne sait pas comment il a nommé ses tectboxes, on attend ses précisions, ma foi ...
3
jraynald Messages postés 45 Date d'inscription lundi 1 mai 2000 Statut Membre Dernière intervention 25 février 2012
6 janv. 2008 à 15:20
les boites s'appellent textbox1 textbox2 etc
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
6 janv. 2008 à 15:31
Salut,

Quel intérêt de remplir une variable(je suppose de type String) 8 fois, si à chaque lecture il efface l'ancienne valeur..???

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
3

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

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
6 janv. 2008 à 15:41
Re,

Essayons cela :

Dim oCtrl As control

For Each oCtrl In Me
       If TypeOf oCtrl Is TextBox Then          If Not oCtrl.Name TextBox1 And oCtrl.Name TextBox2 Then
             ' Tu fais ce que tu veux ici
          End If
       End If
Next oCtrl 
             

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
3
Utilisateur anonyme
6 janv. 2008 à 16:16
En vba ..., j'avais pas fait attention
Donc, tu peux faire ainsi :
Dim i As Integer
For i = 2 To 9
  lecture = Me.Controls("TextBox" & i).Text
Next i, ----
(Coloration syntaxique automatique par Kenji)

__________
  Kenji
3
jraynald Messages postés 45 Date d'inscription lundi 1 mai 2000 Statut Membre Dernière intervention 25 février 2012
6 janv. 2008 à 16:23
Nickel Charles c'est exactement ce que je cherchai.
Merci
3
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013
1 mai 2009 à 19:25
Bonjour

moi j'aimerais faire a peut pret le meme que cela mais changer la couleur de fond...
        Dim I as integer
        Dim Tableau(,)
       
        ...(je tape pas tout le code car c'est tres long )
        
        For i = 0 To Grilles - 1
                name = "TextBox0" & i & Tableau(i, j)
                Me.Controls(name).backcolor = Color.Red
        Next


Ca me met un message d'erreur "La référence d'objet n'est pas définie à une instance d'un objet."
c'est le "Me" qui pose problème je crois

Pouvez vous m aider?
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 mai 2009 à 20:14
Salut,

Je pense que c'est plus tôt ton Name qui pose problème...la recontruction du nom de ton TextBox.

++




A+
Exploreur

 Linux a un noyau, Windows un pépin
    ** http://exploreur1.labrute.fr **
0
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013
1 mai 2009 à 20:15
j ai fait un msgbox afin qu'il affiche le nom et le nom que le msgbox affiche correspond bien au nom du textbox

voila pourquoi je ne comprends pas d ou vient le souci
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 mai 2009 à 20:22
Oki...^^
0
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013
1 mai 2009 à 20:25
j ai fait ceci pour avoir les etapes

        For i = 0 To Grilles - 1
            For j = 0 To 4
                nbr = Tableau(i, j)
                num = ((i + 1) * 100) + nbr
                MsgBox(num)
                test = ("TextBox" & num)
                MsgBox(test)
                Me.Controls(test).BackColor = Color.Red
            Next j
        Next i

ca m'affifche bien le nom de la textbox mais ca ne change pas le backcolor
0
Rejoignez-nous