Précédent   Forum du club des développeurs et IT Pro > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/10/2012, 18h38   #1
Marvin.R
Invité de passage
 
Inscription : 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
Marvin.R est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2012, 22h16   #2
Heureux-oli
Responsable Word


 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 18 889
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 48
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 18 889
Points : 39 103
Points : 39 103
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h37.


 
 
 
 
Partenaires

Hébergement Web