Public Sub RemplirLstv(NomForm As Object, ByRef NomLstView As MSComctlLib.ListView)
' Gestion des erreurs
On Error GoTo ErrorHandler
Dim LstItem As ListItem
Dim Entete As ColumnHeader
Dim iLargeurListView As Integer
Dim i As Integer
Dim oRst As New ADODB.Recordset
Dim iNbreChampDb As Integer
' Initialiser le contrôle listView
With NomLstView
.ListItems.Clear
.ColumnHeaders.Clear
' Largeur du contrôle
iLargeurListView = .Width
' Charger la base
Set oRst = ChargerTous
' Nombre de champs
iNbreChampDb = oRst.Fields.Count - 1
' Création des entêtes
For i = 0 To oRst.Fields.Count - 1
Set Entete = .ColumnHeaders.Add
Entete.Text = Trim(oRst.Fields(i).Name & "")
Entete.Width = iLargeurListView / (iNbreChampDb + 0.25)
'If i = 0 Then Entete.Width = 0
Next
i = 1
' Chargement des enregistrements
While Not oRst.EOF
Set LstItem = .ListItems.Add(1, , Trim(oRst(0) & ""))
For i = 1 To oRst.Fields.Count - 1
LstItem.ListSubItems.Add i, , Trim(oRst(i) & "")
Next
oRst.MoveNext
Wend
End With
On Error GoTo 0
Exit Sub
ErrorHandler:
MsgBox "Erreur: " & Err.Number & vbCrLf & _
"Description: " & Err.Description & vbCrLf & _
"Procédure: RemplirLstv" & vbCrLf & _
"Module de classe: Cl_Repertoire", _
vbInformation, _
"Erreur" & Err.Number
End Sub