
Lassé de perdre du temps à régler la largeur des colonnes d'un contrôle ListBox ou ComboBox d'un UserForm, je me suis construit une petite fonction qui me calcule automatiquement la largeur des colonnes du contrôle en fonction de la largeur des colonnes de la liste des données.
Pour rappel
C'est la propriété ColumnWidths qui permet de définir la largeur des colonnes d’un contrôle ListBox ou ComboBox.
Par défaut la largeur des colonnes est de 72 points (72 points=1 pouce).
Exemple :
Code VBA : | Sélectionner tout |
Me.ListBox1.ColumnWidths = "0;30;60;60;20;20"
Code de la procédure
Cette procédure nommée GetColumnWidths peut être placée dans le module du UserForm où se trouve le contrôle ou, c'est préférable, dans un module standard
La procédure a été testée avec les police Tahoma, taille à 8 et normal, ainsi que Calibri, taille 10 et normal.
.
Code VBA : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 | Function GetColumnWidths(oRange As Range) As String ' Philippe Tulliez (www.magicoffice.be) Const cw As Double = 0.85 Dim tcol As Variant, c As Long With oRange ReDim tcol(.Columns.Count - 1) For c = 1 To .Columns.Count tcol(c - 1) = .Cells(1, c).Width * cw Next End With GetColumnWidths = Join(tcol, ";") End Function |
Comment l'invoquer ?
Pour l'exemple, on définit la propriété ColumnWidths du ListBox nommé ListBox1 en fonction de la largeur des colonnes du tableau structuré nommé t_Data. Cette ligne de code se trouve dans le module du UserForm (Me)
Code VBA : | Sélectionner tout |
Me.ListBox1.ColumnWidths = GetColumnWidths(Range("t_Data"))
Tutoriels
Quelques tutoriels à lire pour en savoir plus sur les UserForm, les contrôles dans un UserForm, les tableaux structurés
- Utiliser les UserForm en VBA Excel
- Utiliser les contrôles dans un UserForm, en VBA Excel
- Apprendre à utiliser les tableaux structurés Excel : création, manipulations et avantages
Vous avez lu gratuitement 6 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.