Boucle en VBA

Résolu
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

  1. Bonjour,

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


    Bonne suite
    1. Contributeur
      Bonsoir à tous,

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

      eric
    2. Bonjour eriiic,
      Pas de point sauté, si vous le mettez il y a erreur de syntaxe.

      Bye
    3. Contributeur
      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
    4. 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
    5. Contributeur
      Très intéressant, c'est beaucoup plus concis.
      Du coup j'ai fait un classeur pour tester... ;-)
      eric