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
| Private Sub UserForm_Activate()
Dim SheetBase As Worksheet
UserForm1.Caption = "Sélection d'un article"
'======================================================
'Inutile de l'activer,on pointe juste dessus
Set SheetBase = Thisworkbook.sheets("Feuil1")
SheetBase.Cells.Columns.AutoFit ' Pour une Largeur cohérente des Colonnes de la Feuille!
With UserForm1.ListView1: .View = 3: .Gridlines = True: .FullRowSelect = True: .Sorted = True
With .ColumnHeaders
For i = 1 To 10 '"10" étant un nombre forfaitaire de Colonnes renseignées .... On peut l'adapter!
If SheetBase.Cells(1, i).Value <> "" Then
.Add , , SheetBase.Cells(1, i).Value, (SheetBase.Columns(i).ColumnWidth * 4) + 18
'"4" étant issu des tests (Voire Inches et Points), et "+ 18" un correctif de la même origine.
End If
Next i
End With
For i = 2 To SheetBase.Cells(SheetBase.Rows.Count, 1).End(xlUp).Row
'On format la valeur sur 3 chiffres
.ListItems.Add , , Format(SheetBase.Cells(i, 1).Value, "00#")
For j = 1 To .ColumnHeaders.Count - 1
If SheetBase.Cells(i, j + 1).Value <> "" Then
.ListItems(.ListItems.Count).ListSubItems.Add , , SheetBase.Cells(i, j + 1).Value
Else
.ListItems(.ListItems.Count).ListSubItems.Add , , "?" 'Ceci pour une suite où Wind n'aime pas le vide!
End If
Next j
Next i
End With
End Sub |
Partager