xpert12
Messages postés114Date d'inscriptionlundi 5 février 2007StatutMembreDernière intervention10 septembre 2010 18 févr. 2009 à 23:57
salut,
en fait c'est assez simple. Utilise le code suivant :
Public Sub AutosizeGridColumns(ByRef myFlex As MSFlexGrid, ByVal MaxRowsToParse _
As Integer, ByVal MaxColWidth As Integer)
Dim I, J As Integer
Dim txtString As String
Dim intTempWidth, BiggestWidth As Integer
Dim intRows As Integer
Const intPadding = 150
With myFlex
For I = 0 To .Cols - 1
.Col = I
intRows = .Rows
If intRows > MaxRowsToParse Then intRows = MaxRowsToParse
intBiggestWidth = 0
For J = 0 To intRows - 1
.Row = J
txtString = .Text
intTempWidth = TextWidth(txtString) + intPadding
If intTempWidth > intBiggestWidth Then intBiggestWidth = intTempWidth
Next J
.ColWidth(I) = intBiggestWidth
Next I
intTempWidth = 0
For I = 0 To .Cols - 1
intTempWidth = intTempWidth + .ColWidth(I)
Next I
If intTempWidth < myFlex.Width Then
intTempWidth = Fix((myFlex.Width - intTempWidth) / .Cols)
For I = 0 To .Cols - 1
.ColWidth(I) = .ColWidth(I) + intTempWidth
Next I
End If
End With
End Sub