VBA : ZOrder, label sur ListBox

  • Initiateur de la discussion Initiateur de la discussion Yohng
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Yohng

XLDnaute Nouveau
Bonjour,

Je ne suis pas content de l'effet du ControlTipText (dans mon cas), j'ai donc voulu le re-créer tout simplement. Mais je n'arrive pas à mettre mon label au dessus du ListBox. Le ZOrder reste sans voie!

Dans l'exemple joint (c'est un tout petit extrait, il m'a fallut couper dur pour atteindre 48Ko!), je détourne une listbox pour en faire un sous-menu.
Et à chaque élément du sous-menu correspond une info-bulle.

En passant, je remercie encore Luki (luc) pour m'avoir initié aux classes d'évènement, c'est géant! Je me demande comment j'ai pu m'en passer jusque là! Et c'est tellement plus simple!

Je précise, que j'ai essayé avec d'autres Controls, et c'est pareil...J'ai même eu l'idée de faire mon info bulle avec une listbox = Idem, mais en plus, bonjour le ralentissement!

Une idée ?
 

Pièces jointes

Re : VBA : ZOrder, label sur ListBox

bonjour

sujet très intéressant.
Dans l'exemple fourni pâr PierreJean il faut modifier le ".Left" :
Code:
With Bulle
            .Caption = t
            .AutoSize = True
            .Top = ListBox1.Top + Y - 10 ' <<<<<<<<
            .Left = ListBox1.Left + ListBox1.Width + 10 ' <<<<<'ListBox1.Left + X + 10 ' <<<<<
            .Visible = True
            '.ZOrder (0)
        End With
à plus
 
Re : VBA : ZOrder, label sur ListBox

Un grand merci pour votre attention, mais je n'ai toujours pas mon "info-bulle" (qui est en fait un Label (controle)) au dessus de mon menu (qui est en fait une ListBox(control)).

L'info-bulle (le label name=bulle) s'affiche toujours sous la listbox, et la totalité du message n'est pas visible!

PierreJean: quelle différence avec mon exemple ?

Le Pierre: Je crois que je suis mal fait comprendre.

Bien sur il suffit de modier le .left pour deplacer le label, et j'avais laisser le Zorder (inutile) pour bien montrer son inéficacité!
 
Re : VBA : ZOrder, label sur ListBox

Bonjour à tous,

L'aide vba dit qu'un contrôle "listBox", "frame", ou "multipage" sera toujours au-dessus des autres....

Donc une solution est d'utiliser un "frame" pour ton info-bulle; j'ai testé, pas idéal, notamment pour gérer l'autosize, mais à défaut de merles....🙂
 
Re : VBA : ZOrder, label sur ListBox

Re

toutes mes excuses pour n'avoir pas compris l'énoncé du problème

Par ailleurs il me semble que Zorder est en lecture seule et que s'il etait possible de passer un label en premier il faudrait utiliser .BringToFront
 
Re : VBA : ZOrder, label sur ListBox

Merci Luki pour la grive.
Je vais faire des essais, j'ai mon idée pour l'autosize.
C'est farfelu, mais je vais garder mon label en dehors de la boite, juste pour lui piquer son width!

En tout cas, merci à tous pour avoir pris de votre temps pour mon probleme.
 
Re : VBA : ZOrder, label sur ListBox

Oui, ca marche du tonnerre avec un frame! (et en gardant le label pour lui piquer son width)

J'avais testé plein de control, mais je n'avais pas pensé à détourner un frame !

M E R C I

Si quelqu'un est interesé, en pj, le resultat.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code listbox
Réponses
4
Affichages
570
Réponses
2
Affichages
1 K
Réponses
6
Affichages
1 K
  • Résolu(e)
Microsoft 365 Macro VBA
Réponses
16
Affichages
3 K
Réponses
13
Affichages
1 K
Retour