OVH Cloud OVH Cloud

Indexation des controles d'un userform

4 réponses
Avatar
Polemos
Bonjour à tous,

J'utilise un userform qui contient environ 80 control (combobox,
boutonradio, checkbox, ...)

Je voudrai avoir un tableau du style

Tableau(1)="textbox1"
Tableau(2)="Combobox1"
....

Pour pouvoir écrire le code suivant :
userform1.tableau(1).value="Balabala"

Ce qui ne fonctionne pas évidemment. Bref comment faire comprendre à
Excel de transformer tableau(1) en textbox1

Merci de vos aides et conseils...
Si quelqu'un a une solution plus générale pour indexer facilement mes
80 control de mon form je suis preneur aussi !!!

Cordialement
Polemos

4 réponses

Avatar
Polemos
Sans doute la solution sur :
http://www.excel-downloads.com/html/French/phpwiki/index.php?pagename=MichelXldUserForms

Cdt

On Sat, 27 Nov 2004 10:31:41 +0100, Polemos <mail :
http://cerbermail.com/?9Gy7Dd1t9W> wrote:

Bonjour à tous,

J'utilise un userform qui contient environ 80 control (combobox,
boutonradio, checkbox, ...)

Je voudrai avoir un tableau du style

Tableau(1)="textbox1"
Tableau(2)="Combobox1"
....

Pour pouvoir écrire le code suivant :
userform1.tableau(1).value="Balabala"

Ce qui ne fonctionne pas évidemment. Bref comment faire comprendre à
Excel de transformer tableau(1) en textbox1

Merci de vos aides et conseils...
Si quelqu'un a une solution plus générale pour indexer facilement mes
80 control de mon form je suis preneur aussi !!!

Cordialement
Polemos


Avatar
Misange
Bonjour
tu peux boucler sur tes contrôles de différentes façons (ca dépend aussi
comment tu les as nommés):
http://www.excelabo.net/xl/controles.php#bouclecontrole

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta


on 27/11/2004 10:31:
Bonjour à tous,

J'utilise un userform qui contient environ 80 control (combobox,
boutonradio, checkbox, ...)

Je voudrai avoir un tableau du style

Tableau(1)="textbox1"
Tableau(2)="Combobox1"
....

Pour pouvoir écrire le code suivant :
userform1.tableau(1).value="Balabala"

Ce qui ne fonctionne pas évidemment. Bref comment faire comprendre à
Excel de transformer tableau(1) en textbox1

Merci de vos aides et conseils...
Si quelqu'un a une solution plus générale pour indexer facilement mes
80 control de mon form je suis preneur aussi !!!

Cordialement
Polemos


Avatar
Pounet95
Bonjour Polemos,

Voici de quoi te faciliter la tache pour indexer tes contrôles.
Dans le module de mon USF ( ici frm_MAJ_Scores), j'écris ces codes :

Private Sub UserForm_Initialize()
Lister_Controles
End Sub

Sub Lister_Controles()
Dim ctrl As Control
For Each ctrl In frm_MAJ_Scores.Controls
Debug.Print ctrl.Name
Next
End Sub

J'ouvre la fenêtre de débogage (ctrl G) et j'éxécute.
Un copier-coller du résultat dans .... une feuille Excel me permet
d'avoir le nom de tous mes contrôles du USF.

Sur l'onglet où j'ai collé cette liste, j'insère 4 colonnes devant
en A1 j'écris Set Tableau(
en B1 1
en C1 ) en D1 ¡&B1&C1&E1
en E1 c'est la liste des contrôles

Je recopie les cellules A1:D1 vers le bas autant que besoin
Je fais un copier de la colonne D que je recopie dans le module du USF
dans une Sub Init_Ctrl qui sera exécutée à partir de l'évènement Initialize.
dans lequel j'ai retiré l'appel à la procédure Lister_Controles.
Donc après, facile de jouer avec lex index

En 3 minutes, j'ai initialié les 200 contrôles d'un USF .....

Bonne journée

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Polemos" <mail : http://cerbermail.com/?9Gy7Dd1t9W> a écrit dans le message
de news:
Bonjour à tous,

J'utilise un userform qui contient environ 80 control (combobox,
boutonradio, checkbox, ...)

Je voudrai avoir un tableau du style

Tableau(1)="textbox1"
Tableau(2)="Combobox1"
....

Pour pouvoir écrire le code suivant :
userform1.tableau(1).value="Balabala"

Ce qui ne fonctionne pas évidemment. Bref comment faire comprendre à
Excel de transformer tableau(1) en textbox1

Merci de vos aides et conseils...
Si quelqu'un a une solution plus générale pour indexer facilement mes
80 control de mon form je suis preneur aussi !!!

Cordialement
Polemos


Avatar
Polemos
Merci !!!
C'est effectivement plus simple et rapide (j'ai 97 control !).

Cdt
Polemos


On Sat, 27 Nov 2004 14:59:59 +0100, "Pounet95"
wrote:

Bonjour Polemos,

Voici de quoi te faciliter la tache pour indexer tes contrôles.
Dans le module de mon USF ( ici frm_MAJ_Scores), j'écris ces codes :

Private Sub UserForm_Initialize()
Lister_Controles
End Sub

Sub Lister_Controles()
Dim ctrl As Control
For Each ctrl In frm_MAJ_Scores.Controls
Debug.Print ctrl.Name
Next
End Sub

J'ouvre la fenêtre de débogage (ctrl G) et j'éxécute.
Un copier-coller du résultat dans .... une feuille Excel me permet
d'avoir le nom de tous mes contrôles du USF.

Sur l'onglet où j'ai collé cette liste, j'insère 4 colonnes devant
en A1 j'écris Set Tableau(
en B1 1
en C1 ) >en D1 ¡&B1&C1&E1
en E1 c'est la liste des contrôles

Je recopie les cellules A1:D1 vers le bas autant que besoin
Je fais un copier de la colonne D que je recopie dans le module du USF
dans une Sub Init_Ctrl qui sera exécutée à partir de l'évènement Initialize.
dans lequel j'ai retiré l'appel à la procédure Lister_Controles.
Donc après, facile de jouer avec lex index

En 3 minutes, j'ai initialié les 200 contrôles d'un USF .....

Bonne journée