Icône de la ressource

VBA - Ajouter facilement des titres à une ListBox (ActiveX ou UserForm) V3

Le fichier à télécharger Titres des colonnes ListBox avec des Labels.xlsm contient:
  1. Le Module_SetListBoxTitles à importer dans le projet VBA.
  2. Module_Test comme exemple de mise en œuvre..
Note: Voir toutes mes ressources -> https://excel-downloads.com/resources/?creator_id=268468

Les principales caractéristiques:
  • Cette procédure permet de créer des titres au-dessus de la ListBox (Active X ou UserForm) placés dans des Labels créés dynamiquement et alignés sur les colonnes. Il faudra donc prévoir l'espace nécessaire.

  • Les titres sont passés en argument de la fonction.
    Le nombre de titres passés déterminera le nombre de colonnes de la ListBox (ListBox.ColumnCount).

  • Les largeurs de colonnes, la fonte, la taille de fonte et l'alignement du texte peuvent optionnellement être passés en arguments de la fonction.

  • Si les largeurs de colonnes ne sont pas passées en argument, celles de la propriété ListBox.ColumnWidths sont utilisées.

  • Quelque soit la source des largeurs de colonnes, si toutes ne sont pas mentionnées, voire aucune, la largeur des colonnes non mentionnées est calculée sur la base de l'espace restant dans ListBox.Width également distribué. Si toutes sont mentionnées, la largeur de la ListBox (ListBox.Width) est ajustée au total des largeurs de colonnes. Dans les 2 cas, cela permet d'éviter une Scroll barre horizontale et de pouvoir placer tous les titres au-dessus des colonnes.
Remarque:
  • Il existe une propriété ListBox.ColumnHeads (True / False) pour intégrer une ligne de titre dans le cadre de la ListBox mais cette ligne n'est pas figée et aura les mêmes caractéristiques que celles des items de la liste.
Mise en œuvre très simple:
  • Placer le Module_SetListBoxTitles dans la projet VBA.

  • Dans le code VBA, utiliser la fonction SetListBoxTitles avec les paramètres décrits dans le code.
Versions:
  • V1 - Initiale.
  • V2 - Ajout des paramètres ForeColor et BackColor pour les titres.
  • V3 - Ajout de la possibilité de définir les largeurs de colonnes en % de la ListBox.Width et de définir une bordure à la zone des titres.
Titres.gif