Plusieurs objets à modifier dans une boucle

Le
Versatile
Bonjour,
Voilà, j'ai une Userform faite maison qui comporte un grand nombre de
TextBox ( 1, 2 10), disons 10. Je souhaiterais appliquer une
modification via vba bien sûr à ces objets dans une boucle de type :
for x=1 to 10
textbox(x).caption = x
next
Mais cela ne marche pas. Comment faire autrement ?
Merci beaucoup !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #18718211
Bonjour.
Essaie :

Sub test()
Dim c As Control
For Each c In UserForm1.Controls
If TypeName(c) = "TextBox" Then
MsgBox c.Name
End If
Next c
End Sub

Cordialement.
Daniel

Bonjour,
Voilà, j'ai une Userform faite maison qui comporte un grand nombre de
TextBox ( 1, 2... 10), disons 10. Je souhaiterais appliquer une
modification via vba bien sûr à ces objets dans une boucle de type :
for x=1 to 10
textbox(x).caption = x
next
Mais cela ne marche pas. Comment faire autrement ?
Merci beaucoup !


Misange
Le #18718471
Ahhh :-) c'est LA première question que je suis venue poser sur ce forum
il y a quelque lurette.
Voici quelques solutions
http://www.excelabo.net/excel/controlestypes.php#bouclecontrole

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Versatile a écrit :
Bonjour,
Voilà, j'ai une Userform faite maison qui comporte un grand nombre de
TextBox ( 1, 2... 10), disons 10. Je souhaiterais appliquer une
modification via vba bien sûr à ces objets dans une boucle de type :
for x=1 to 10
textbox(x).caption = x
next
Mais cela ne marche pas. Comment faire autrement ?
Merci beaucoup !


Versatile
Le #18718781
merci mais le "controls" ne marche pas avec mon "excel 2000" que j'ai
au boulot, snif !!!
Misange
Le #18720551
ah mais si. controls existe depuis au moins 97. Quel est le message
d'erreur ?
Regarde dans l'éditeur/outils/références si des références ne sont pas
indiquées comme manquantes et décoche les.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Versatile a écrit :
merci mais le "controls" ne marche pas avec mon "excel 2000" que j'ai
au boulot, snif !!!


Versatile
Le #18723811
> ah mais si. controls existe depuis au moins 97. Quel est le message
d'erreur ?



J'ai essayé la boucle suivante :
For I = 1 To 10
Controls("TextBox" & I).Value = "Bouton " & I
Next I
que ce soit avec mon excel 2000 du boulot ou 2003 de mon domicile, et cela
ne marche pas. Le débogueur me surligne le mot "controls" et m'indique
"Erreur de compilation : Sub ou Function non définie". Ma sub est parfaite,
je ne vois vraiment pas ce qui cloche, help !!!
michdenis
Le #18724051
| For I = 1 To 10
| Controls("TextBox" & I).Value = "Bouton " & I
| Next I

Ce code devrait fonctionner seulement si tu l'as inscrit dans le formulaire.
Si tu l'as déposé dans un module, tu dois utiliser la propriété Name
du formulaire devant contrôls

For I = 1 To 10
Userform1.Controls("TextBox" & I).Value = "Bouton " & I
Next I





"Versatile" 499f3d3d$0$5236$
ah mais si. controls existe depuis au moins 97. Quel est le message
d'erreur ?



J'ai essayé la boucle suivante :
For I = 1 To 10
Controls("TextBox" & I).Value = "Bouton " & I
Next I
que ce soit avec mon excel 2000 du boulot ou 2003 de mon domicile, et cela
ne marche pas. Le débogueur me surligne le mot "controls" et m'indique
"Erreur de compilation : Sub ou Function non définie". Ma sub est parfaite,
je ne vois vraiment pas ce qui cloche, help !!!
Daniel.C
Le #18724031
Si tu avais seulement essayé mon code...
Daniel

ah mais si. controls existe depuis au moins 97. Quel est le message
d'erreur ?



J'ai essayé la boucle suivante :
For I = 1 To 10
Controls("TextBox" & I).Value = "Bouton " & I
Next I
que ce soit avec mon excel 2000 du boulot ou 2003 de mon domicile, et cela ne
marche pas. Le débogueur me surligne le mot "controls" et m'indique "Erreur
de compilation : Sub ou Function non définie". Ma sub est parfaite, je ne
vois vraiment pas ce qui cloche, help !!!


Vincent
Le #18727331
> Si tu avais seulement essayé mon code...
Daniel



il est très bien mais je te fais remarquer qu'il est moins pratique car
moins sélectif. Ton code modifie tout TextBox par exemple, même si l'on peut
insérer un test conditionnel de type IF, avec une boucle FOR, on peut n'en
modifier qu'une partie, c'est plus pratique et sans doute plus rapide
Vincent
Le #18727321
> Ce code devrait fonctionner seulement si tu l'as inscrit dans le
formulaire.
Si tu l'as déposé dans un module, tu dois utiliser la propriété Name
du formulaire devant contrôls

For I = 1 To 10
Userform1.Controls("TextBox" & I).Value = "Bouton " & I
Next I



merci, c'était exactement ça et ça marche !
Daniel.C
Le #18727441
>> Si tu avais seulement essayé mon code...
Daniel



il est très bien mais je te fais remarquer qu'il est moins pratique car moins
sélectif. Ton code modifie tout TextBox par exemple, même si l'on peut
insérer un test conditionnel de type IF, avec une boucle FOR, on peut n'en
modifier qu'une partie, c'est plus pratique et sans doute plus rapide



Sans doute. Je voulais seulement souligner qu'il n'aurait pas planté et
que, par conséquent, tu ne te serais pas posé de questions à propos de
"Controls".
Daniel
Publicité
Poster une réponse
Anonyme