Boucle en VBA

Résolu/Fermé
Marvin.R Messages postés 15 Date d'inscription lundi 29 octobre 2012 Statut Membre Dernière intervention 8 novembre 2012 - 29 oct. 2012 à 18:30
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 1 nov. 2012 à 23:43
Bonsoir,

J'ai plusieurs zones de saisis (textBox) dans ma userForm. J'aimerai boucler sur chacun d'eux.

for i = 1 to 50

Je leur ai donné à chacun le même nom suivi d'un chiffre pour les différencier : textBox1 à textBox50

Ce que je ne sais pas comment faire, c'est selectionner la 1ère textBox à la 1ère boucle, puis la 2nd textBox à la 2nd boucle...

J'ai essayé

for i = 1 to 50
textBox(i) ...

mais ça ne fonctionne pas

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
29 oct. 2012 à 19:11
Bonjour,

Au plus simple:
ex:
Private Sub CommandButton1_Click()
  For x = 1 To 50
    Me("textbox" & x) = x
  Next x
End Sub


Bonne suite
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
Modifié par eriiic le 29/10/2012 à 22:44
Bonsoir à tous,

un . a sauté...
Me.("textBox" & x) = x

eric
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
30 oct. 2012 à 08:16
Bonjour eriiic,
Pas de point sauté, si vous le mettez il y a erreur de syntaxe.

Bye
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
30 oct. 2012 à 09:05
Bonjour,

Ca me gène terriblement écrit sans . , même sans erreur de syntaxe.
Comme quoi s'il avait joint un fichier pour tester il aurait sa réponse plus rapidement et plus sûre.
Dans ce cas peut-être :
Me.Controls("textBox" & x) = x

eric
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 30/10/2012 à 10:07
Re,
Me.Controls("textBox" & x) = x, c'est bon.
J'ai regarde dans l'aide VBA access, VB5.0 et VB6.0: la syntaxe, que j'utilise depuis tres longtemps, existe(implicite ou explicite).Par contre pas dans VBA Excel???? mais ca marche!!
Bye
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
30 oct. 2012 à 10:41
Très intéressant, c'est beaucoup plus concis.
Du coup j'ai fait un classeur pour tester... ;-)
eric
0