VBA : Premier plan de 'Frame' vs 'ListBox'

Besnard68

XLDnaute Occasionnel
Bonjour Forum,

Dans une UserForm j'ai, entre autres, 2 contrôles distincts, une 'Frame' et une 'ListBox'.

Par programmation,via la modification du 'Top', je déplace la Frame qui vient partiellement "chevaucher" la ListBox.
Je souhaiterais que ce chevauchement soit à l'avantage de la 'Frame' , c'est-à-dire qu'elle soit au premier plan (ou que la ListBox soit en arrière-plan).

J'ai essayé de diverses façons, mais rien n'y fait ; la ListBox est toujours au premier plan.

L'espace de travail alloué dans la UserForm étant restraint, je n'ai pas d'autre solution. Existe t'il un moyen pour parvenir à mes fins ?

Merci d'avance pour votre aide.
 

Pierrot93

XLDnaute Barbatruc
Re : VBA : Premier plan de 'Frame' vs 'ListBox'

Bonjour Besnard

peut être utiliser un "multipage", page 1 tu mets ton cadre, et page 2 ta "listbox". Ensuite tu affiche soit la page 1 soit la 2.... A voir si cela est réalisable dans ton projet.

bon après midi
@+
 

Besnard68

XLDnaute Occasionnel
Re : VBA : Premier plan de 'Frame' vs 'ListBox'

Bonjour Pierrot,

Merci pour ton aide.

La 1ère solution est intéressante mais difficilement adaptable dans mon cas (ça m'obligerait à revoir complètement le contenu de ma UserForm).

La 2ème solution que tu propose peut effectivement trouver à s'adapter... à moindre coût ( :) )

Par contre, je m'aperçois que Frame contre Frame, les priorités sont gérable : Alors je vais tenter l'encapsulement de la fameuse ListBox(et des autres contrôles qui lui sont rattachés) dans une Frame et voir le résultat.

Au pire, si je n'arrive pas à mes fins, j'appliquerai alors ta 2ème solution sur cette Frame nouvellement créée.

je te tiens au courant.

Merci encore pour ton aide et @+
 

Pierrot93

XLDnaute Barbatruc
Re : VBA : Premier plan de 'Frame' vs 'ListBox'

Re, bonjour Hasco

@Hasco
attention parce que là nous avons une "frame" et une listbox, hors la "frame" agit comme un conteneur, donc en fait la "listbox" n'est pas au premier ou en arrière plan, mais à l'intérieur de la "frame", enfin c'est ce que j'ai compris du poblème.

@+
 
G

Guest

Guest
Re : VBA : Premier plan de 'Frame' vs 'ListBox'

@Pierrot93

Besnard nous dis:

je déplace la Frame qui vient partiellement "chevaucher" la ListBox.
Je souhaiterais que ce chevauchement soit à l'avantage de la 'Frame' , c'est-à-dire qu'elle soit au premier plan (ou que la ListBox soit en arrière-plan).

Je ne vois pas où il nous dis que la listbox est DANS la frame.

Or Donc si ce n'est pas le cas, il suffit de mettre la listebox à l'arrière plan soit en mode conception soit par vba et ListBox.ZOrder
 

Besnard68

XLDnaute Occasionnel
Re : VBA : Premier plan de 'Frame' vs 'ListBox'

Bonjour Hasco, Re Pierrot,

Je confirme bien, comme tu le dis Hasco, que la ListBox est hors de la frame.


Est-ce que l'instruction Me.ListBox1.ZOrder 1 peut être placée une seule fois (dans Private Sub Initialize par exemple) ou dois-je rajouter cette ligne avec celle ou je déplace ma Frame ?

Et cette instruction met elle au premier plan ou en arrière plan ?

A vous lire.

Cordialement
 

Pierrot93

XLDnaute Barbatruc
Re : VBA : Premier plan de 'Frame' vs 'ListBox'

Re

les valeurs de la methode, 1 pour l'arrière plan, et 0 pour 1er plan, mais attention ne s'applique pas à un controle "frame" (excel 2003), cf aide vba, touche FI sur "ZOrder"...

essaye de mettre le code lors de l'initialisation, sinon lors du déplacement... A tester donc...

bonne soirée
@+

Edition sous Excel 2003
 
Dernière édition:

Statistiques des forums

Discussions
312 489
Messages
2 088 852
Membres
103 974
dernier inscrit
chmikha