Microsoft 365 Colonnes de listbox

José77

XLDnaute Occasionnel
Bonjour,

Quelqu’un connaîtrait il la manière de récupérer en VBA la valeur de la largeur des colonnes d’une listbox ?
Par avance merci beaucoup.
José
 

Dranreb

XLDnaute Barbatruc
Vous pouvez utiliser Split(Replace(Me.ListBox1.ColumsWidths," pt",""), "; ") pour les avoir dans des éléments séparés. Remarque la propriété doit avoir été initialisée. Sinon je pense que c'est pour toutes les colonnes Me.ListBox1.Width / 3
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Un exemple dans le classeur joint avec une fonction dans le module de Userform1 qui renvoie la largeur de la nCol ième colonne de la listbox cListBox.
Exemple d'appel : largeur = LargeurColonneN(ListBox1,3)

VB:
Function LargeurColonneN(cListBox As Control, nCol As Long)
Dim Largeur As Double, S As String, t
   If TypeName(cListBox) <> "ListBox" Then LargeurColonneN = -1: Exit Function
   If nCol > cListBox.ColumnCount Then LargeurColonneN = -1: Exit Function
   S = cListBox.ColumnWidths
   If S = "" Then
      Largeur = cListBox.Width / cListBox.ColumnCount
      If Largeur < 72 Then Largeur = 72
   Else
   S = Replace(S, "pt", "")
      Largeur = CDbl("0" & Split(S, ";")(nCol - 1))
   End If
   LargeurColonneN = Largeur
End Function
 

Pièces jointes

  • José77- listbox - largeur colonne- v1.xlsm
    22.7 KB · Affichages: 7
Dernière édition:

Discussions similaires