' déclarer les variables
public s as byte
public c as range
'au dessus du code ci-dessous "construction des colonnes"
s = 1
for each c in range("a1:a100")
if c="1" then
With ListView1
.ListItems.Add , , c.Offset(0, s)
largeur_colonne
.ListItems(1).ListSubItems.Add , , c.Offset(0, s)
largeur_colonne
.ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, s)
largeur_colonne
.ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, s)
largeur_colonne
.ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, s)
largeur_colonne
.ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, s)
largeur_colonne
End With
end if
Next c
End Sub
'----------------------------------------------------------------------
'----------------------------------------------------------------------
Sub largeur_colonne()
Dim largeur_auto As ColumnHeader
Set largeur_auto = ListView1.ColumnHeaders(s) 'indice Colonne
If largeur_auto.Width < (Len(ListView1.ColumnHeaders(s).Text) * 4) _
+ (Len(c.Offset(0, s).Text) * 3) Then largeur_auto.Width = (Len(ListView1.ColumnHeaders(s).Text) * 4) + (Len(c.Offset(0, s).Text) * 3)
s = s + 1
If largeur_auto.Width >=10 then largeur_auto.Width =20
end sub