Bonsoir le forum,
J'ai 2 ListView sur un UserForm. Chaqu'une de ces listview affiche le contenu filtré de deux feuilles, et supprime les doublons dans l'une des lisview.
J'ai fais un bout de code (avec votre aide) qui ne fonctionne pas correctement.
Je m'explique:
2 listwiew, 1 appelé LvForfait l'autre LvPneu.
Si LvForfait est vide, l'affichage dans LvPneu est correct. J'ai toutes les valeurs filtrées.
Si LvForfait contient des valeurs, alors dans LvPneu, seul la première valeur de la première colonne s'affiche.
Les doublons présents dans LvPneu doivent être supprimé.
Autre souci, mais seulement esthétique. Si une ListView ne contient pas de valeur, j'ai les en tête de colonne qui s'affiche en double.
Voici le code :
Private Sub MajListView()
Dim y, Flag As Integer
LVpneu.ListItems.Clear
LVforfait.ListItems.Clear
k = Sheets('RefStock').Range('A65536').End(xlUp).Row
k1 = Sheets('Tourisme été').Range('A65536').End(xlUp).Row
Sheets('Tourisme été').Activate
With LVforfait
For Each Cell In Sheets('Tourisme été').Range('A9:A' & k1)
If Sheets('Tourisme été').Rows(Cell.Row).Hidden = False Then
x = x + 1
.ListItems.Add , , Cell
For m = 1 To 7
.ListItems(x).ListSubItems.Add , , Cell.Offset(0, m)
Next m
End If
Next
End With
m = LVforfait.ListItems.Count
x = 0
Flag = 0
Sheets('RefStock').Activate
With LVpneu
For Each Cell In Sheets('RefStock').Range('A5:A' & k)
If Sheets('RefStock').Rows(Cell.Row).Hidden = False Then
x = x + 1
For y = 1 To m 'Vérifie doublon
If Cell = LVforfait.ListItems(y) Then Flag = 1
Next y
If Flag = 0 Then
LVpneu.ListItems.Add , , Cell
For y = 1 To 10
LVpneu.ListItems(x).ListSubItems.Add , , Cell.Offset(0, y)
Next y
End If
End If
Flag = 0
Next
End With
End Sub
Merci de bien vouloir m'apporter votre aide.
J'ai 2 ListView sur un UserForm. Chaqu'une de ces listview affiche le contenu filtré de deux feuilles, et supprime les doublons dans l'une des lisview.
J'ai fais un bout de code (avec votre aide) qui ne fonctionne pas correctement.
Je m'explique:
2 listwiew, 1 appelé LvForfait l'autre LvPneu.
Si LvForfait est vide, l'affichage dans LvPneu est correct. J'ai toutes les valeurs filtrées.
Si LvForfait contient des valeurs, alors dans LvPneu, seul la première valeur de la première colonne s'affiche.
Les doublons présents dans LvPneu doivent être supprimé.
Autre souci, mais seulement esthétique. Si une ListView ne contient pas de valeur, j'ai les en tête de colonne qui s'affiche en double.
Voici le code :
Private Sub MajListView()
Dim y, Flag As Integer
LVpneu.ListItems.Clear
LVforfait.ListItems.Clear
k = Sheets('RefStock').Range('A65536').End(xlUp).Row
k1 = Sheets('Tourisme été').Range('A65536').End(xlUp).Row
Sheets('Tourisme été').Activate
With LVforfait
For Each Cell In Sheets('Tourisme été').Range('A9:A' & k1)
If Sheets('Tourisme été').Rows(Cell.Row).Hidden = False Then
x = x + 1
.ListItems.Add , , Cell
For m = 1 To 7
.ListItems(x).ListSubItems.Add , , Cell.Offset(0, m)
Next m
End If
Next
End With
m = LVforfait.ListItems.Count
x = 0
Flag = 0
Sheets('RefStock').Activate
With LVpneu
For Each Cell In Sheets('RefStock').Range('A5:A' & k)
If Sheets('RefStock').Rows(Cell.Row).Hidden = False Then
x = x + 1
For y = 1 To m 'Vérifie doublon
If Cell = LVforfait.ListItems(y) Then Flag = 1
Next y
If Flag = 0 Then
LVpneu.ListItems.Add , , Cell
For y = 1 To 10
LVpneu.ListItems(x).ListSubItems.Add , , Cell.Offset(0, y)
Next y
End If
End If
Flag = 0
Next
End With
End Sub
Merci de bien vouloir m'apporter votre aide.