' Nombre de colonnes
Dim NbCols as Integer = MshFlexGrid.Cols
' Largeur utile de la grille
Dim LargeurGrille as Integer = MshFlexGrid.Width - (NbCols - 1)
' largeur utile d'une colonne
Dim LargeurColonne as Integer = LargeurGrille \ NCols
' largeur de la MshFlexGrid
MshFlexGrid.Width = (LargeurColonne * (Nbcols +1)) - 1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionnb = 100 '--->> le nombre de colonnes que l'on veut
lpix = 10 ' largeur en pixels que l'on veut pour chaque colonne
ltwip = lpix * Screen.TwipsPerPixelX ' --->> sa traduction en twips
With MSFlexGrid1 '-----------------------------------------
.GridLines = 1
.GridLineWidth = 1
.BorderStyle = flexBorderNone
.ScrollBars = flexScrollBarNone
.Cols = nb
For i1 = 0 To nb - 1
.ColWidth(i1) = ltwip
Next i1
.Width = (nb * ltwip)
End With
nb = 100 '--->> le nombre de colonnes que l'on veut
lpix = 10 ' largeur en pixels que l'on veut pour chaque colonne
ltwip = lpix * Screen.TwipsPerPixelX ' --->> sa traduction en twips
With MSFlexGrid1 '-----------------------------------------
.GridLines = 1
.GridLineWidth = 1
.BorderStyle = flexBorderNone
.ScrollBars = flexScrollBarNone
.Cols = nb
For i1 = 0 To nb - 1
.ColWidth(i1) = ltwip
Next i1
.Width = (nb * ltwip) - (1 * Screen.TwipsPerPixelX)
End With
lgtwip = 17000 ' =====>> la largeur totale que l'on veut, exprimée en twips
lgpic = lgtwip / Screen.TwipsPerPixelY ' on calcule sa correspondance en pixels
nb = 50
lpix = (lgpic - (nb - 1)) \ nb ' ===>> on en déduit la largeur de chaque colonne, en pixels entiers. On est
' de ce fait forcé de perdre quelques twips (insignifiant, mais ...)
' sur la largeur totale de la grille (ces twips ne peuvent être représentés
' puisque la plus petite unité affichable est le pixel
' ATTENTION : il s'agit bien de diviser avec \ (et non /)
ltwip = lpix * Screen.TwipsPerPixelY ' ===>> et on la traduit en twips
With MSFlexGrid1
.GridLines = 1
.GridLineWidth = 1
.BorderStyle = flexBorderNone
.ScrollBars = flexScrollBarNone
.Cols = nb
For i1 = 0 To nb - 1
.ColWidth(i1) = ltwip
Next i1
.Width = (nb * ltwip) - (1 * Screen.TwipsPerPixelY)
MsgBox "nous avons perdu forcément " & ((lgtwip - .Width) / nb) / Screen.TwipsPerPixelX & " pixels au total"
End With