Bonjour à tous.
Comment faire pour ajuster la largeur de l’Userform en fonction de la largeur d'un ListBox1.
En adaptant la procédure ci-dessous trouvée dans un autre forum, la hauteur de l’userform s’adapte à la hauteur du ListBox1.
J’ai beau cherché, je ne trouve pas de solution pour ajuster aussi la largeur.
Qui aurait une petite idée.
Merci d’avance pour votre réponse.
Comment faire pour ajuster la largeur de l’Userform en fonction de la largeur d'un ListBox1.
En adaptant la procédure ci-dessous trouvée dans un autre forum, la hauteur de l’userform s’adapte à la hauteur du ListBox1.
Code:
Private Sub UserForm_Initialize()
Dim HauteurUserform, HauteurListBox1, HauteurListBox1Niew
HauteurUserform = Me.Height
HauteurListBox1 = Me.ListBox1.Height
With ListBox1
.ColumnCount = 4
For i = 1 To Range("liste_data").Rows.Count
.AddItem Cells(i, 1)
.List(.ListCount - 1, 1) = Cells(i, 2)
.List(.ListCount - 1, 2) = Cells(i, 3)
.List(.ListCount - 1, 3) = Cells(i, 4)
Next i
'MsgBox Me.ListBox1.ListCount
Me.ListBox1.Height = Me.ListBox1.ListCount * 10.5
For i = 1 To .ColumnCount
With Me.Controls.Add("Forms.TextBox.1", Name:="txtTemp" & i)
.AutoSize = True
.MultiLine = True
.WordWrap = False
.SelectionMargin = False
With .Font
.Name = ListBox1.Font.Name
.Size = ListBox1.Font.Size
End With
End With
Next i
For i = 0 To .ListCount - 1
Me.Controls("txtTemp1").Text = Me.Controls("txtTemp1").Text & vbCr & .List(i, 0)
Me.Controls("txtTemp2").Text = Me.Controls("txtTemp2").Text & vbCr & .List(i, 1)
Me.Controls("txtTemp3").Text = Me.Controls("txtTemp3").Text & vbCr & .List(i, 2)
Me.Controls("txtTemp4").Text = Me.Controls("txtTemp4").Text & vbCr & .List(i, 3)
Next i
For i = 1 To .ColumnCount
StrCWidths = StrCWidths & Me.Controls("txtTemp" & i).Width & ";"
lngTotalWidth = lngTotalWidth + Me.Controls("txtTemp" & i).Width
Me.Controls("txtTemp" & i).Visible = False
Me.Controls.Remove ("txtTemp" & i)
Next i
.Width = lngTotalWidth + ListBox1.ColumnCount + 5
.ColumnWidths = StrCWidths
End With
HauteurListBox1Niew = Me.ListBox1.Height
Me.Height = HauteurUserform + (HauteurListBox1Niew - HauteurListBox1)
End Sub
J’ai beau cherché, je ne trouve pas de solution pour ajuster aussi la largeur.
Qui aurait une petite idée.
Merci d’avance pour votre réponse.
Dernière édition: