aide listview

alexga78

XLDnaute Occasionnel
Bonjour ou plutot bonsoir au forum
besoin d'aide d'experts...
mes objectifs :
1- liens entre les deux combobox de filtre de la listview 1.(je m'expilque : que le choix d'une valeurA dans le combo 1 enleve les propositions les propositions ne se rapportant pas à A lorsque l'on choisi une valeurX dans la combo 2....) ce qui n'est pas le cas actuellement malgré mes tentatives.
2- plus complexe :
lorsque l'on choisi une ligne de la listview1 après filtrage: les lignes correspondantes de la feuill2(en fonction du N° serie piece) apparaissent dans la listview2 (lors clic ou non sur commandbutton) idéalement par date chronologique.
Est-ce réalisable ou suis-je trop gourmand ?
En tout merci à tous ceux qui voudront bien se pencher sur mon problème.
Cordialement
 

Pièces jointes

  • test.zip
    18.3 KB · Affichages: 58
  • test.zip
    18.3 KB · Affichages: 58
  • test.zip
    18.3 KB · Affichages: 54

skoobi

XLDnaute Barbatruc
Re : aide listview

Re bonjour,

En utilisant le filtre automatique voici ce que ça donne pour les codes des 2 premiers combobox (en bleu les différences à adapter pour les 3 autres combobox):

Code:
Private Sub ComboBox1_Change()
Dim Elmnt As Range, Col As Integer, J As Long
ListView1.ListItems.Clear
[[COLOR=Blue][B]A[/B][/COLOR]1].AutoFilter Field:=[COLOR=Blue][B]1[/B][/COLOR], Criteria1:=ComboBox[B][COLOR=Blue]1[/COLOR][/B].Value
For Each Elmnt In Range("A2", [A65536].End(xlUp)).SpecialCells(xlCellTypeVisible)
  With Me.ListView1
    .ListItems.Add , , Elmnt.Value
    For J = 1 To 6
      .ListItems(.ListItems.Count).ListSubItems.Add , , Elmnt.Offset(0, J).Value
    Next
  End With
Next

End Sub

Private Sub ComboBox2_Change()
Dim Elmnt As Range, Col As Integer, J As Long
ListView1.ListItems.Clear
[[COLOR=Blue][B]C[/B][/COLOR]1].AutoFilter Field:=[B][COLOR=Blue]3[/COLOR][/B], Criteria1:=ComboBox[B][COLOR=Blue]2[/COLOR][/B].Value
For Each Elmnt In Range("A2", [A65536].End(xlUp)).SpecialCells(xlCellTypeVisible)
  With Me.ListView1
    .ListItems.Add , , Elmnt.Value
    For J = 1 To 6
      .ListItems(.ListItems.Count).ListSubItems.Add , , Elmnt.Offset(0, J).Value
    Next
  End With
Next

End Sub

Plus cette ligne à ajouter dans "Initialize":

Code:
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
 

alexga78

XLDnaute Occasionnel
Re : aide listview

re Bebere et skoobi
merci à vous 2 pour votre aide...
ne m'en veux pas Bebere mais je vais plutôt pencher pour la solution de skoobi car j'avoue que je comprends pas grand chose au tien....je n'ai que un mois de programmation c un peu juste malgré tout ce que j'apprends grâce à vous.
Encore merci...je m'en veux le filtre automatique j'aurais dû y penser....arh
bonne soirée à vous tous et a l'ensemble du forum.
 

bqtr

XLDnaute Accro
Re : aide listview

Bonsoir alexga78, Bebere, Skoobi

Une autre façon de faire sans utiliser les filtres sur la feuille, fatiguant pour les yeux :D. Possibilité de filtrer avec un seul combobox ou en cascade.

J'ai ajouté deux OptionButton :
Le 1er pour filtrer avec le combobox utilisé et lui seul.
Le 2ème pour filtrer en cascade du Combobox1 au combobox5.
A l'ouverture du USF c'est le filtre unique qui est activé (Optionbutton1 coché). A tout moment tu peux changer de type de filtre.

A+
 

Pièces jointes

  • testV3.zip
    39 KB · Affichages: 177
  • testV3.zip
    39 KB · Affichages: 181
  • testV3.zip
    39 KB · Affichages: 189

Statistiques des forums

Discussions
312 839
Messages
2 092 678
Membres
105 508
dernier inscrit
Albator