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 SubJ’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: 
			
		
	
								
								
									
	
		
			
		
		
	
	
	
		
			
		
		
	
								
							
							 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		