1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| Sub Lvw1()
Dim Plage As Range, c As Range, i As Integer
'positionnement du premier filtre
With Sheets("Rapport")
Set Plage = .Range(.[A26], .Cells(.Rows.Count, 15).End(xlUp))
.AutoFilterMode = False
Plage.AutoFilter 6, Criteria1:=ComboBox3.Value, Operator:=xlFilterValues
Plage.AutoFilter 15
With .AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
'remplissage de la listview
With ListView1
Set Plage = Sheets(3).AutoFilter.Range.Offset(1)
Set Plage = Plage.Resize(Plage.Rows.Count - 1, 1)
Set Plage = Plage.SpecialCells(xlCellTypeVisible)
With .ColumnHeaders
'suppression des entêtes de colonne
.Clear
'détermination de l'intitulé et de la largeur des colonnes
.Add , , "Date", 50
.Add , , "Thème", 50
.Add , , "N°", 30
.Add , , "Déscription des écarts", 250
.Add , , "Actions correctives", 250
.Add , , "Pilote", 50
.Add , , "Délai", 50
.Add , , "Avct", 30
End With
'on affiche les entêtes de colonne
.HideColumnHeaders = False
'alimentation de la listview pour chaque ligne de la zone filtrée
For Each c In Plage
'ajout d'une ligne et de la valeur de la première colonne
.ListItems.Add , , c.Value
With .ListItems(.ListItems.Count)
'ajout de la valeur de la deuxième colonne
.ListSubItems.Add , , c.Offset(, 1).Value
.ListSubItems.Add , , c.Offset(, 9).Value .ListSubItems.Add , , c.Offset(, 10).Value
.ListSubItems.Add , , c.Offset(, 11).Value
.ListSubItems.Add , , c.Offset(, 12).Value
.ListSubItems.Add , , c.Offset(, 13).Value
.ListSubItems.Add , , c.Offset(, 14).Value
.ListSubItems.Add , , c.Offset(, 15).Value
End With
Next c
End With
'Spécifie l'affichage en mode "Détails"
ListView1.View = lvwReport
Exit Sub
End Sub |
Partager