Icône de la ressource

VBA - Valoriser et dimensionner une ListBox UserForm ou ActiveX à sa taille optimale V2

Le fichier à télécharger contient:
  1. Le Module_ValueSizeUserFormListBox à importer dans le projet VBA.
  2. Le UserForm1 qui donne un exemple d'utilisation.
Note: Voir toutes mes ressources -> https://excel-downloads.com/resources/?creator_id=268468

Les principales caractéristiques:

Le Module_ValueSizeUserFormListBox contient la fonction:​
  • ValueAndSizeUserFormListBox() pour valoriser et dimensionner la ListBox UserForm de manière optimale, c'est à dire en ajustant sa largeur et sa hauteur au strict nécessaire, adapté selon les paramètres reçus.
    VB:
    '--------------------------------------------------------------------
    'Set the values in a UserForm ListBox and size it in Width and Height
    '
    '- ListBox                      : UserForm ListBox
    '- RangeOrTableValues           : Range or a 1 or 2 dimension table of input values
    '- FontName                     : Optional - Font Name for the ListBox
    '                                 By default the ListBox.Font.Name
    '- FontSize                     : Optional - Font Size for the ListBox
    '                                 By default the ListBox.Font.Size
    '- FontBold                     : Optional - Font Bold for the ListBox
    '                                 By default the ListBox.Font.Bold
    '- ColumnHeads                  : Optional - ColumnHeads for the ListBox
    '                                 By default the ListBox.ColumnHeads
    '                                 Warning ! If the ColumnHeads = True, the RangeOrTableValues argument must be a Range and
    '                                           the cell preceeding the Range (RangeOrTableValues.Cells(1).Offset(-1)) must be the Header value
    '- MultiSelect                  : Optional - MultiSelect for the ListBox
    '                                 By default the ListBox.MultiSelect
    '- ListBoxMaxHeight             : Optional - Maximum allowed ListBox Height (e.g. to fit within the UserForm or to not cover a Control below)
    '                                 By default no limit
    '- ResizeUserFormToListBox      : Optional - True to resize the UserForm without Caption on the ListBox dimensions
    '                                 By default False
    '                                 When the ListBox.Width < UserForm Minimum Width (99.6 points) it is widden to fit the UserForm Width
    '--------------------------------------------------------------------

    ListBox.gif
Remarque:

Une version adaptée aux ListBox ActiveX est en Post #1 de cette ressource dans laquelle on trouvera:​
  1. Le Module_ValueSizeActiveXListBox à importer dans le projet VBA.
  2. Le Module_Test qui donne un exemple d'utilisation.
Le Module_ValueSizeActiveXListBox contient la fonction:​
  • ValueAndSizeActiveXListBox() pour valoriser et dimensionner la ListBox ActiveX de manière optimale, c'est à dire en ajustant sa largeur et sa hauteur au strict nécessaire, adapté selon les paramètres reçus.
Versions:
  • V1 - Initiale.
  • V2 - Corrections diverses