Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Discussion: boucle en VBA

  1. #1
    Invité de passage
    Inscrit en
    octobre 2012
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : octobre 2012
    Messages : 1
    Points : 0
    Points
    0

    Par défaut boucle en VBA

    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

  2. #2
    Rédacteur/Modérateur


    Avatar de Heureux-oli
    Homme Profil pro Olivier Lebeau
    Contrôleur d'industrie
    Inscrit en
    février 2006
    Messages
    19 890
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Lebeau
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 19 890
    Points : 39 275
    Points
    39 275

    Par défaut

    Salut,

    Je pense que boucler sur les controles serait plus simple.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub CommandButton1_Click()
    'Déclaration d'une variable control
    Dim myCtr As Control
     
    'Boucle sur les controles du UserForm
    For Each myCtr In Me.Controls
    Debug.Print myCtr.Name
    'Test sur le nom du controle
    If Left(myCtr.Name, 4) = "Text" Then
    MsgBox myCtr
    End If
     
     
    Next myCtr
     
    End Sub
    Si tu souhaites quand même ta boucle avec un entier, il faut adresser le contrôle autrement.

    Code :
    1
    2
    3
    4
    5
    Dim intI as Integer
     
    For inti = 1 To 50
    MsgBox Me.Controls("TextBox" & inti)
    Next inti
    A toi de voir.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •