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
    0
    1. Contributeur
      Bonsoir à tous,

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

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

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