pascal21
XLDnaute Barbatruc
bonjour à tous
je n'arrive pas à faire la chose suivante:
dans un usf j'ai mis 2 listview
la 1ere copie les colonnes b,d,e,f,h à partir de la ligne 53
celle là fonctionne bien
la 2eme copie les colonnes i, j, k, l, m à partir de la ligne 53
là ça ne fonctionne pas
les tableaux copiés sont différents, c'est pour cela que je ne les mets pas dans la même listview
voyez-vous ce qui cloche là dedans
merci
je n'arrive pas à faire la chose suivante:
dans un usf j'ai mis 2 listview
la 1ere copie les colonnes b,d,e,f,h à partir de la ligne 53
celle là fonctionne bien
la 2eme copie les colonnes i, j, k, l, m à partir de la ligne 53
là ça ne fonctionne pas
les tableaux copiés sont différents, c'est pour cela que je ne les mets pas dans la même listview
Code:
Private Sub UserForm_Initialize()
' Initialisation du listview1
'----------------------------------------listview1
With ListView1
With .ColumnHeaders
' Vider le listview
.Clear
'Ajouter les colonnes
.Add , , "DATES", 100 'B
.Add , , "EMPLOYES", 90, lvwColumnCenter 'C
.Add , , "EVENNEMENTS", 170, lvwColumnCenter 'D
.Add , , "BONUS", 50, lvwColumnCenter 'E
.Add , , "MALUS", 50, lvwColumnCenter 'F
.Add , , "EXTRA-BONUS", 70, lvwColumnCenter 'h
End With
.View = 3
.Gridlines = True
.FullRowSelect = True
.HideColumnHeaders = False
.LabelEdit = 1
End With
' Afficher les données
Call Affiche1
'---------------------------------------------listview2
With ListView2
With .ColumnHeaders
' Vider le listview
.Clear
'Ajouter les colonnes
.Add , , "EMPLOYES", 70 'i
.Add , , "BONUS", 40, lvwColumnCenter 'j
.Add , , "MALUS", 40, lvwColumnCenter 'k
.Add , , "POINTS ACQUIS", 70, lvwColumnCenter 'l
.Add , , "EXTRA-BONUS", 70, lvwColumnCenter 'm
End With
.View = 3
.Gridlines = True
.FullRowSelect = True
.HideColumnHeaders = False
.LabelEdit = 1
End With
' Afficher les données
Call Affiche2
End Sub
Sub Affiche1()
' Afficher les données dans le listview
Dim Lig As Long
Dim derLig As Long
Dim LigList As Long
Dim laCle As String
With Worksheets("TABLEAU")
' Dernière ligne en colonne b
derLig = .Range("b" & Cells.Rows.Count).End(xlUp).Row
If derLig < 53 Then derLig = 53
' Initialisation de la ligne dans le listview
LigList = 1
' Boucle de la ligne 2 à la dernière
For Lig = 53 To derLig
laCle = "L" & Lig
' Remplir la première colonne
ListView1.ListItems.Add , laCle, .Range("b" & Lig).Value
'Remplissage colonnes 2 à 5
ListView1.ListItems(LigList).ListSubItems.Add , , .Range("C" & Lig).Value
ListView1.ListItems(LigList).ListSubItems.Add , , .Range("D" & Lig).Value
ListView1.ListItems(LigList).ListSubItems.Add , , .Range("E" & Lig).Value
ListView1.ListItems(LigList).ListSubItems.Add , , .Range("F" & Lig).Value
ListView1.ListItems(LigList).ListSubItems.Add , , .Range("H" & Lig).Value
LigList = LigList + 1
Next Lig
End With
End Sub
'---------------------------------------------------------------------
Sub Affiche2()
' Afficher les données dans le listview
Dim Lig2 As Long
Dim derLig2 As Long
Dim LigList2 As Long
Dim laCle2 As String
With Worksheets("TABLEAU")
' Dernière ligne en colonne i
derLig2 = .Range("i" & Cells.Rows.Count).End(xlUp).Row
If derLig2 < 53 Then derLig2 = 53
' Initialisation de la ligne dans le listview
LigList2 = 1
' Boucle de la ligne 53 à la dernière
For Lig2 = 53 To derLig
laCle2 = "L" & Lig
' Remplir la première colonne
ListView2.ListItems.Add , laCle2, .Range("i" & Lig2).Value
ListView2.ListItems(LigList2).ListSubItems.Add , , .Range("j" & Lig2).Value
ListView2.ListItems(LigList2).ListSubItems.Add , , .Range("k" & Lig2).Value
ListView2.ListItems(LigList2).ListSubItems.Add , , .Range("l" & Lig2).Value
ListView2.ListItems(LigList2).ListSubItems.Add , , .Range("m" & Lig2).Value
LigList2 = LigList2 + 1
Next Lig2
End With
End Sub
merci
Dernière édition: