Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Plusieurs objets à modifier dans une boucle

10 réponses
Avatar
Versatile
Bonjour,
Voil=E0, 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=FBr =E0 ces objets dans une boucle de type :
for x=3D1 to 10
textbox(x).caption =3D x
next
Mais cela ne marche pas. Comment faire autrement ?
Merci beaucoup !

10 réponses

Avatar
Daniel.C
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 !


Avatar
Misange
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 !


Avatar
Versatile
merci mais le "controls" ne marche pas avec mon "excel 2000" que j'ai
au boulot, snif !!!
Avatar
Misange
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 !!!


Avatar
Versatile
> 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 !!!
Avatar
michdenis
| 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" a écrit dans le message de groupe de discussion :
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 !!!
Avatar
Daniel.C
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 !!!


Avatar
Vincent
> 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
Avatar
Vincent
> 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 !
Avatar
Daniel.C
>> 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