Actualisé listiview selon feuille

poussy67

XLDnaute Occasionnel
Bonjours le forum

J'ai un petit souci pour actualisé un listview. J'ai un classeur avec plusieurs
feuilles qui représente une semaine, j'ai USF avec un combobox qui me permet de selectionner une feuille (un jour de la semaine) et je ne trouve pas comment actualiser le listview selon la feuille sélectionner.

Merci d'avance au forum, pour le coup de pouce.

Cdt poussy

ci joint un exemple.
 

Pièces jointes

  • test_pp1.xls
    75 KB · Affichages: 57

Papou-net

XLDnaute Barbatruc
Re : Actualisé listiview selon feuille

Bonjour poussy67,

Dans ton module de code UserForm1, modifies tes lignes comme dans l'exemple ci-dessous :

Code:
Private Sub ComboBox1_Change()
Dim L As Integer
Dim i As Byte
Set WS = ThisWorkbook.Sheets(CStr(Me.ComboBox1))
L = WS.Range("B65536").End(xlUp).Row
For i = 15 To L
    'Me.ComboBox1.AddItem WS.Cells(i, 2)
Next
WS.Activate
[COLOR="Red"][B]MajListe[/B][/COLOR]
End Sub

Private Sub UserForm_Initialize()
'selection journée
Dim i As Byte
For i = 2 To 8
    Me.ComboBox1.AddItem ThisWorkbook.Worksheets(i).Name
Next
With Me
End With

'ListView affichage
With ListView1
    With .ColumnHeaders
       .Clear
       .Add , , "N°:", 30
       .Add , , "Codes:", 50
       .Add , , "Libellés:", 200, lvwColumnCenter
       .Add , , "Qu.:", 30
       .Add , , "N° Commnades:", 80
    End With
 .View = lvwReport
 .FullRowSelect = True
 .Gridlines = True
End With

End Sub

[COLOR="Red"][B]Sub MajListe()
On Error Resume Next
With ListView1
    .ListItems.Clear
 .View = lvwReport
 .FullRowSelect = True
 .Gridlines = True
        ' Chargement des données
        For i = 6 To ActiveSheet.Range("B65536").End(xlUp).Row
               .ListItems.Add , "A" & i, ActiveSheet.Cells(i, 1) '1ère Colonne
               .ListItems(.ListItems.Count).ListSubItems.Add , , ActiveSheet.Cells(i, 2)
               .ListItems(.ListItems.Count).ListSubItems.Add , , ActiveSheet.Cells(i, 3)
               .ListItems(.ListItems.Count).ListSubItems.Add , , ActiveSheet.Cells(i, 4)
               .ListItems(.ListItems.Count).ListSubItems.Add , , ActiveSheet.Cells(i, 5)
        Next
 .ListItems(1).Selected = False
End With
End Sub[/B][/COLOR]

Tu remarqueras que j'ai créé une procédure MajListe, que j'appelle depuis la procédure Change du ComboBox1, après sélection de la feuille dans celui-ci.
J'ai également remplacé les Sheets("Lundi") par ActiveSheet, les données sont donc lues dans la feuille active.

Espérant t'avoir aidé.

Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 161
Messages
2 085 848
Membres
103 004
dernier inscrit
ponas