harissa555
XLDnaute Nouveau
bonjour,
J'ai reçu un vieux fichier excel que je dois faire fonctionner sur différent post. Il utilisait de base MSHFlexGrid dans les userform mais ce n'est plus compaptible, c'est pourquoi je me tourne vers listview.
La fonction AddError ajoute les erreurs s'il y en a dans mon USF sous forme d'une liste. Je n'arrive pas a "convertir" cette fonction mshflexgrid en listview. je suis vraiment nul en VBA...
voici la fonction :
et voici le dit USF en question :
Merci d'avance pour votre aide
J'ai reçu un vieux fichier excel que je dois faire fonctionner sur différent post. Il utilisait de base MSHFlexGrid dans les userform mais ce n'est plus compaptible, c'est pourquoi je me tourne vers listview.
La fonction AddError ajoute les erreurs s'il y en a dans mon USF sous forme d'une liste. Je n'arrive pas a "convertir" cette fonction mshflexgrid en listview. je suis vraiment nul en VBA...
voici la fonction :
VB:
Private Function AddError(ByRef Data As Range, ByVal kind As String, source As String)
NbErrors = NbErrors + 1
With UserForm1.ListView1
If Not (.Rows = 2 And Trim(.TextMatrix(1, 0)) = "") Then .AddItem "", 1
.TextMatrix(1, 0) = CStr(Format(CDate(Now()), "dd/mm/yy HH:nn"))
.TextMatrix(1, 1) = source
.TextMatrix(1, 2) = kind
.TextMatrix(1, 3) = Data.Parent.Name
.TextMatrix(1, 4) = Data.Address
.TextMatrix(1, 5) = Data.Value
If .Rows Mod 2 = 1 Then
.row = 1
For i = 0 To .Cols - 1
.col = i
.CellBackColor = &HC0FFC0
Next
End If
End With
End Function
et voici le dit USF en question :
VB:
Private Sub UserForm_Initialize()
'----- remplissage ListView------------------------
With ListView1
'Définit le nombre de colonnes et Entêtes
With .ColumnHeaders
'Supprime les anciens entêtes
.Clear
'Ajoute 3 colonnes en spécifiant le nom de l'entête
'et la largeur des colonnes
.Add , , "Date", 120, lvwColumnLeft
.Add , , "Procédure", 120, lvwColumnCenter
.Add , , "Attendu", 120, lvwColumnCenter
.Add , , "Feuille", 120, lvwColumnCenter
.Add , , "Cellule", 120, lvwColumnCenter
.Add , , "Donnée Fournie", 158, lvwColumnCenter
End With
.Gridlines = True ' affichage de lignes
End With
'--------------------------------------------------
'Spécifie l'affichage en mode "Détails"
ListView1.View = lvwReport
End Sub
Merci d'avance pour votre aide