Simplification de code

Résolu
manureva10 Messages postés 20 Date d'inscription samedi 22 novembre 2003 Statut Membre Dernière intervention 21 octobre 2011 - 7 févr. 2005 à 14:10
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 - 9 févr. 2005 à 09:19
For i = 1
To 10
Step 1


TextBox1.Text TextBox1.Text & vbCrLf & a & " * " & i & " " & 1 + i


TextBox2.Text TextBox2.Text & vbCrLf & a & " * " & i & " " & 1 + i


TextBox3.Text TextBox3.Text & vbCrLf & a & " * " & i & " " & 1 + i


TextBox4.Text TextBox4.Text & vbCrLf & a & " * " & i & " " & 1 + i


TextBox5.Text TextBox5.Text & vbCrLf & a & " * " & i & " " & 1 + i


TextBox6.Text TextBox6.Text & vbCrLf & a & " * " & i & " " & 1 + i


TextBox7.Text TextBox7.Text & vbCrLf & a & " * " & i & " " & 1 + i


TextBox8.Text TextBox8.Text & vbCrLf & a & " * " & i & " " & 1 + i


TextBox9.Text TextBox9.Text & vbCrLf & a & " * " & i & " " & 1 + i


TextBox10.Text TextBox10.Text & vbCrLf & a & " * " & i & " " & 1 + i


TextBox11.Text TextBox11.Text & vbCrLf & a & " * " & i & " " & 1 + i


TextBox12.Text TextBox12.Text & vbCrLf & a & " * " & i & " " & 1 + i



Next i
peut t'on simplifier ce code
merci
sachant que a a une valeur differente a chaque ligne

8 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
7 févr. 2005 à 15:06
Il y a de très grandes chances que ce code soit simplifiable.

Mais il faut que tu dises quelles sont ces valeurs si particulières que 'a' prend à chaque ligne. Ensuite, ce sera facile!

Mais aussi : VB6 ? VBA ? la solution ne sera pas la même dans les deux cas.





Autre chose :



TextBox12.Text TextBox12.Text & vbCrLf & a & " * " & i & " " & 1 + i


ne devrait-elle pas se transformer en :

TextBox12.Text TextBox12.Text & vbCrLf & a & " * " & i & " " & a * i

?




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
3
manureva10 Messages postés 20 Date d'inscription samedi 22 novembre 2003 Statut Membre Dernière intervention 21 octobre 2011
7 févr. 2005 à 15:13
pardon pour + aux lieu * mais vu trop tard
merci
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
7 févr. 2005 à 15:20
Bah de rien ... mais on n'a pas encore réglé ton problème il me semble ...




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 3
7 févr. 2005 à 23:20
Je verai bien un controlArray, non?
0

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

Posez votre question
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
8 févr. 2005 à 08:58
Je pense qu'il faudrait mettre un groupe de controle avec une boucle superposé à ta boucle sur i de1 à 10. Si tu n'es pas en VBA mais en VB6 ca le fera:
1- Place untextbox nommé textbox1 sur une form
2- fixe sa propriété index à 0
3- Dans ton code création des n textbox vooulu :
For i = 1 to n
Load textbox1(i)
With textbox1(i)
.move ... ... 'Mettre la textbox la ou il faut
.visible = true 'Obligatoire sinon elle n'apparaitra pas
End with
4- Rempalce ton code par ceci :


For t = 1 to n
For i = 1 To 10 ' Step 1 est inutile !


with TextBox1(t) .Text .Text & vbCrLf & a & " * " & i & " " & 1 + i
end with
next
next



Christophe R
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
8 févr. 2005 à 09:59
crenaud> La variable 'a' doit également varier ... mais comment ??

Je voyais bien aussi des groupes de contrôles,mais là, il faudrait qu'il se manifeste.

Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
9 févr. 2005 à 08:26
Au pire, si a varie,il varie dans une boucle for ... next ou while ...wend, ce n'est qu'une couche à rajouter rien de terrible


Christophe R
0
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 3
9 févr. 2005 à 09:19
si c'est un feuille avec les tables de multiplication que tu veux afficher, tu peux adapter le code suivant.

le label Table(0) est pose sur la feuille avec visible = False

j'ai utilise des labels parceque je n'ai pas trouve le WordWrap des Textbox.





Private Sub Form_Load()

Dim i As Integer, j As Integer

For i = 1 To 10

Load table(i)

With table(i)

.Visible = True

.Left = ((i - 1) Mod 5) * .Width + 200

.Top = Int((i - 1) / 5) * .Height + 200

.Caption = "table des " & i & vbCrLf

For j = 1 To 10


.Caption = .Caption & vbCrLf & i & "x" & j & "="
& i * j

Next

End With

Next

End Sub
0
Rejoignez-nous