blord
XLDnaute Impliqué
Bonjour à tous,
Étant à mes premiers pas avec un listview, j'éprouve le problème suivant :
Dans un listbox, je sélectionne une valeur qui est alors retournée dans une feuille Excel. Un tableau est complété et ensuite j'initialise mon listview avec le code suivant :
Ce que je veux, c'est à chaque fois que sélectionne une valeur dans mon listbox, que les données de ma listview se mettent à jour automatiquement. Lorsque je fait ma première sélection, le listview se charge correctement mais si je sélectionne une autre valeur dans le listbox, les données du listview ne se modifient pas, le listview affiche toujours les données de la première sélection. Évidemment, dans le code change de mon listbox, j'apelle la macro affiche ??
Merci de m'aider....
Benoit Lord
Étant à mes premiers pas avec un listview, j'éprouve le problème suivant :
Dans un listbox, je sélectionne une valeur qui est alors retournée dans une feuille Excel. Un tableau est complété et ensuite j'initialise mon listview avec le code suivant :
Code:
Sub Affiche()
'-------------------------------------------------------------------------------------------------------------------------------------------
'Affiche les données dans le listview
'Initialisation du listview
With ListView1
With .ColumnHeaders
.Clear
.Add , , "Régime", 60, lvwColumnLeft
.Add , , "Choix #1", 60, lvwColumnRight
.Add , , "Choix #2", 60, lvwColumnRight
.Add , , "Choix #3", 60, lvwColumnRight
.Add , , "Encaissement", 60, lvwColumnRight
End With
.View = 3
.Gridlines = True
.FullRowSelect = False
.HideColumnHeaders = False
.LabelEdit = 1
End With
Dim Lig As Long
Dim derLig As Long
Dim LigList As Long
Dim laCle As String
With Worksheets("CalculRegime")
' Dernière ligne en colonne A
derLig = .Range("A" & Cells.Rows.Count).End(xlUp).Row
If derLig < 2 Then derLig = 2
' Initialisation de la ligne dans le listview
LigList = 1
' Boucle de la ligne 2 à la dernière
For Lig = 2 To derLig
laCle = "L" & Lig
' Remplir la première colonne
ListView1.ListItems.Add , laCle, .Range("A" & Lig).Value
'Remplissage colonnes 2 à 4
ListView1.ListItems(LigList).ListSubItems.Add , , Format(.Range("B" & Lig).Value, "0.00")
ListView1.ListItems(LigList).ListSubItems.Add , , Format(.Range("C" & Lig).Value, "0.00")
ListView1.ListItems(LigList).ListSubItems.Add , , Format(.Range("D" & Lig).Value, "0.00")
ListView1.ListItems(LigList).ListSubItems.Add , , Format(.Range("E" & Lig).Value, "0.00")
LigList = LigList + 1
Next Lig
End With
End Sub
Ce que je veux, c'est à chaque fois que sélectionne une valeur dans mon listbox, que les données de ma listview se mettent à jour automatiquement. Lorsque je fait ma première sélection, le listview se charge correctement mais si je sélectionne une autre valeur dans le listbox, les données du listview ne se modifient pas, le listview affiche toujours les données de la première sélection. Évidemment, dans le code change de mon listbox, j'apelle la macro affiche ??
Merci de m'aider....
Benoit Lord