OVH Cloud OVH Cloud

TabStrip

2 réponses
Avatar
Patrick BASTARD
Bonjour.

Cette question a déja été postée sur MPFE, (Elle concerne VBA sur Excel
2002) et reste actuellement sans réponse. C'est la raison pour laquelle je
crosspost.

Je débute avec les userforms, et rencontre un problème avec un TabStrip à
plusieurs onglets (un pour chaque jour de la semaine) :

http://cjoint.com/?gym0cpxKxi

Private Sub UserForm_Initialize()

ListBox1.RowSource = "a1:a13"
ListBox1.ControlSource = "X12"
place bien mon choix en cellule X12

ListBox2.RowSource = "a1:a13"
ListBox2.ControlSource = "AA12"
place bien mon choix en cellule AA12

etc...
Mais ce que je souhaite obtenir, c'est
remplir la ligne 12 avec l'onglet 1 du TabStrip (Dimanche)
remplir la ligne 13 avec l'onglet 2 du TabSrip (Lundi)
Etc.
Les recherches faites sur Excelabo, et sur Google Group ne m'ont pas permis
d'avancer.

Peut-être auriez-vous la solution ?

Une question subsidiaire : 11 ListBox pour chaque onglet, soit 77en tout.
Faut-il initialiser la RowSource (identique) pour chacun, ou existe-t-il un
For Each...
du genre :
Dim Lb As ListBox
For each LB in this userform ' là, VBA devient rouge de colère...
Lb.RowSource = "A1:A13"
Next

D'avance, merci pour l'aide que vous pourriez m'apporter.,


--
Bien amicordialement,
P. Bastard

2 réponses

Avatar
Patrice Henrio
Réponse à la question subsidiaire : on peut passer en revue tous les objets
d'une forme en testant leur "typeName"

For each Ob in Form1.Controls
If Typename(Ob)="ListBox" then TraiterLesListBox Ob
Next


"Patrick BASTARD" a écrit dans le
message de news: %
Bonjour.

Cette question a déja été postée sur MPFE, (Elle concerne VBA sur Excel
2002) et reste actuellement sans réponse. C'est la raison pour laquelle je
crosspost.

Je débute avec les userforms, et rencontre un problème avec un TabStrip à
plusieurs onglets (un pour chaque jour de la semaine) :

http://cjoint.com/?gym0cpxKxi

Private Sub UserForm_Initialize()

ListBox1.RowSource = "a1:a13"
ListBox1.ControlSource = "X12"
place bien mon choix en cellule X12

ListBox2.RowSource = "a1:a13"
ListBox2.ControlSource = "AA12"
place bien mon choix en cellule AA12

etc...
Mais ce que je souhaite obtenir, c'est
remplir la ligne 12 avec l'onglet 1 du TabStrip (Dimanche)
remplir la ligne 13 avec l'onglet 2 du TabSrip (Lundi)
Etc.
Les recherches faites sur Excelabo, et sur Google Group ne m'ont pas
permis
d'avancer.

Peut-être auriez-vous la solution ?

Une question subsidiaire : 11 ListBox pour chaque onglet, soit 77en tout.
Faut-il initialiser la RowSource (identique) pour chacun, ou existe-t-il
un
For Each...
du genre :
Dim Lb As ListBox
For each LB in this userform ' là, VBA devient rouge de colère...
Lb.RowSource = "A1:A13"
Next

D'avance, merci pour l'aide que vous pourriez m'apporter.,


--
Bien amicordialement,
P. Bastard



Avatar
Patrick BASTARD
Bonsoir, *Patrice Henrio*

... et merci pour cette réponse.

Il se fait tard (tôt).
Je ne testerai que demain...

Bon dimanche.

--
Bien amicordialement,
P. Bastard


Réponse à la question subsidiaire : on peut passer en revue tous les
objets d'une forme en testant leur "typeName"

For each Ob in Form1.Controls
If Typename(Ob)="ListBox" then TraiterLesListBox Ob
Next


"Patrick BASTARD" a écrit dans le
message de news: %
Bonjour.

Cette question a déja été postée sur MPFE, (Elle concerne VBA sur
Excel 2002) et reste actuellement sans réponse. C'est la raison pour
laquelle je crosspost.

Je débute avec les userforms, et rencontre un problème avec un
TabStrip à plusieurs onglets (un pour chaque jour de la semaine) :

http://cjoint.com/?gym0cpxKxi

Private Sub UserForm_Initialize()

ListBox1.RowSource = "a1:a13"
ListBox1.ControlSource = "X12"
place bien mon choix en cellule X12

ListBox2.RowSource = "a1:a13"
ListBox2.ControlSource = "AA12"
place bien mon choix en cellule AA12

etc...
Mais ce que je souhaite obtenir, c'est
remplir la ligne 12 avec l'onglet 1 du TabStrip (Dimanche)
remplir la ligne 13 avec l'onglet 2 du TabSrip (Lundi)
Etc.
Les recherches faites sur Excelabo, et sur Google Group ne m'ont pas
permis
d'avancer.

Peut-être auriez-vous la solution ?

Une question subsidiaire : 11 ListBox pour chaque onglet, soit 77en
tout. Faut-il initialiser la RowSource (identique) pour chacun, ou
existe-t-il un
For Each...
du genre :
Dim Lb As ListBox
For each LB in this userform ' là, VBA devient rouge de colère...
Lb.RowSource = "A1:A13"
Next

D'avance, merci pour l'aide que vous pourriez m'apporter.,


--
Bien amicordialement,
P. Bastard