Manipuler la fonction "For Next" en Vba

Résolu/Fermé
Toums91 - Modifié par crapoulou le 9/08/2011 à 16:05
 Toums91 - 11 août 2011 à 16:42
Bonjour à tous,

J'ai rédigé le code suivant
For v = 108 To 111
Textbox = Textbox & (v)
Textbox.Visible = False
Next v
, lequel produit une erreur d'éxécution "objet requis"
La mise en oeuvre de boucle est assez nouvelle pour moi, c'est pourquoi je fais appel à vous.

En effet le code ancienne formule suivant:
'TextBox108.Visible = False
'TextBox109.Visible = False
'TextBox110.Visible = False
'TextBox111.Visible = False
était un peu trop lourd dès lors que le formulaire détient plus de 100 textbox.

Merci par avance.
Cdlt.

A voir également:

7 réponses

moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
9 août 2011 à 16:52
Peut etre une fonction un peu lourde a ecrire mais une fois ecrite tu est tranquil

Sub test()
Dim v As Integer
For v = 1 To 2
visibilite (v)
Next v


End Sub

Function visibilite(i As Integer)
Select Case i
Case 1
Me.TextBox1.visible = False
Case 2
Me.TextBox2.visible = False
'case .... ainsi de suite
End Select
End Function
1
Re,

Pourriez-vous rechercher à partir d'une fonction For next une proposition de code très court afin d'éviter un code très lourd.

Merci.

Mathieu
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
9 août 2011 à 16:24
Bonjour

ola pas facile tt ca je ne suis pas sur que cela soit possible
0
Et si tu observes le 1er commentaire?
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
9 août 2011 à 16:55
Et si tu as une centaine de text box sert toi de ce code pr les ecrire

Sub ecrire()
For i = 1 To 100
Debug.Print "textbox" & i & ".visible = False"
Next
End Sub
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
9 août 2011 à 16:59
Petite modif :

Sub ecrire()
For i = 1 To 100
Debug.Print "case " & i
Debug.Print "textbox" & i & ".visible = False"
Next
End Sub
0

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

Posez votre question
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
9 août 2011 à 17:00
ce qui donne :

case 1
textbox1.visible = False
case 2
textbox2.visible = False
case 3
textbox3.visible = False
case 4
textbox4.visible = False
case 5
textbox5.visible = False
case 6
textbox6.visible = False
case 7
textbox7.visible = False
case 8
textbox8.visible = False
case 9
textbox9.visible = False
case 10
textbox10.visible = False
case 11
textbox11.visible = False
case 12
textbox12.visible = False
case 13
textbox13.visible = False
case 14
textbox14.visible = False
case 15
textbox15.visible = False
case 16
textbox16.visible = False
case 17
textbox17.visible = False
case 18
textbox18.visible = False
case 19
textbox19.visible = False
case 20
textbox20.visible = False
case 21
textbox21.visible = False
case 22
textbox22.visible = False
case 23
textbox23.visible = False
case 24
textbox24.visible = False
case 25
textbox25.visible = False
case 26
textbox26.visible = False
case 27
textbox27.visible = False
case 28
textbox28.visible = False
case 29
textbox29.visible = False
case 30
textbox30.visible = False
case 31
textbox31.visible = False
case 32
textbox32.visible = False
case 33
textbox33.visible = False
case 34
textbox34.visible = False
case 35
textbox35.visible = False
case 36
textbox36.visible = False
case 37
textbox37.visible = False
case 38
textbox38.visible = False
case 39
textbox39.visible = False
case 40
textbox40.visible = False
case 41
textbox41.visible = False
case 42
textbox42.visible = False
case 43
textbox43.visible = False
case 44
textbox44.visible = False
case 45
textbox45.visible = False
case 46
textbox46.visible = False
case 47
textbox47.visible = False
case 48
textbox48.visible = False
case 49
textbox49.visible = False
case 50
textbox50.visible = False
case 51
textbox51.visible = False
case 52
textbox52.visible = False
case 53
textbox53.visible = False
case 54
textbox54.visible = False
case 55
textbox55.visible = False
case 56
textbox56.visible = False
case 57
textbox57.visible = False
case 58
textbox58.visible = False
case 59
textbox59.visible = False
case 60
textbox60.visible = False
case 61
textbox61.visible = False
case 62
textbox62.visible = False
case 63
textbox63.visible = False
case 64
textbox64.visible = False
case 65
textbox65.visible = False
case 66
textbox66.visible = False
case 67
textbox67.visible = False
case 68
textbox68.visible = False
case 69
textbox69.visible = False
case 70
textbox70.visible = False
case 71
textbox71.visible = False
case 72
textbox72.visible = False
case 73
textbox73.visible = False
case 74
textbox74.visible = False
case 75
textbox75.visible = False
case 76
textbox76.visible = False
case 77
textbox77.visible = False
case 78
textbox78.visible = False
case 79
textbox79.visible = False
case 80
textbox80.visible = False
case 81
textbox81.visible = False
case 82
textbox82.visible = False
case 83
textbox83.visible = False
case 84
textbox84.visible = False
case 85
textbox85.visible = False
case 86
textbox86.visible = False
case 87
textbox87.visible = False
case 88
textbox88.visible = False
case 89
textbox89.visible = False
case 90
textbox90.visible = False
case 91
textbox91.visible = False
case 92
textbox92.visible = False
case 93
textbox93.visible = False
case 94
textbox94.visible = False
case 95
textbox95.visible = False
case 96
textbox96.visible = False
case 97
textbox97.visible = False
case 98
textbox98.visible = False
case 99
textbox99.visible = False
case 100
textbox100.visible = False
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
Modifié par eriiic le 9/08/2011 à 21:58
Bonsoir,

essaie qcq chose comme ça (j'ai la flemme de créer un fichier pour tester) :
For v = 108 To 111
Controls("Textbox" & i).Visible = False
Next v

eric

PS: la prochaine fois dépose un fichier exemple sur cijoint.fr et colle ici le lien fourni.
Ca motive plus de réponses... ;-)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
Modifié par pijaku le 10/08/2011 à 12:59
Salut Eriiic!
Comment va?
Juste une tite modif de ton code, que visiblement tu n'as pas testé ;-)) :
For v = 108 To 111   
Controls("Textbox" & v).Visible = False   
Next v 

Si ça ne fonctionne pas, précisez le "conteneur" :
WorkSheets("Feuil1").Controls("Textbox" & v).Visible = False
ou
UserForm1.Controls("Textbox" & v).Visible = False
Etc...

Et un petit hors sujet au passage : As tu des news de Lermitte222?
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
10 août 2011 à 14:07
Bonjour pijaku,

Merci pour le complément ;-)
Non, c'est vrai que ça fait un petit moment que je ne l'ai vu...
En vacances peut-être ?

A+
eric
0
Merci pour ta réponse, elle fonctionne parfaitement.
Je prends note pour le fichier à joindre néanmoins ce sont des fichiers pro, pas évident...

Peut on adapter cette fonction à non pas une textbox mais à une variable qui est déclaré dans le code.
Il s'agit d'affecter à 15 variables "TRANSPORT_CLASS2_BRESIL_T(1)",TRANSPORT_CLASS2_BRESIL_T(2)",etc... 15 résultats identiques
Je pense tout de suite à reproduire ton code, néanmoins l'outil control ne peut pas être utilisé pour cet exemple :
For i =1 to 15
TRANSPORT_CLASS2_BRESIL_T() & i.value = 12
next i

Bien sûr, ça ne fonctionne pas.

Merci et bon courage.

Mathieu
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
10 août 2011 à 14:35
Quel est l'intérêt d'avoir 15 variables pour une seule valeur?
Faut m'esspliquer là...
0
Message rectifié faute de frappe!
0
bonjour à tous,

je tenais à vous remercier pour vos efforts ! cela procure une joie immense d'avancer dans sa programmation.

Bonne journée.

Mathieu
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
11 août 2011 à 09:18
Salut,
C'est résolu??
0
Grand merci!! Tu m'as bien aidé!!!
Allez je continue à avancer!
0