filtre d'un tableau dans listview

pipo159

XLDnaute Junior
Bonjour tous le monde,

J'ai un petit problème avec une macro, c'est pourquoi je viens demander votre aide (n'étant pas très doué en programmation)

Alors voila j'ai un tableau qui contient plusieurs colonnes avec notamment les colonnes "genre" et "famille".
Dans ma macro, pour l'instant j'ai réussi à afficher les différents éléments du tableau dans une listeview d'un userform.
J'aimerai que dans cette listeview s'affiche uniquement les lignes qui contiennent le genre 12 et la famille 1 par exemple. (comme après un filtre classique dans excel)
Je joins un fichier contenant le tableau et le début de macro
Je ne sais pas comment faire donc si quelqu'un s'y connait ça serait sympa

Merci de votre attention

Pipo
 

Pièces jointes

  • pipo159_ListView.zip
    17 KB · Affichages: 57

cbea

XLDnaute Impliqué
Re : filtre d'un tableau dans listview

Bonsoir Pipo,

Voici une solution.

Mes commentaires sont dans le code VBA.
 

Pièces jointes

  • pipo159_ListView_v1.zip
    19.7 KB · Affichages: 128
  • pipo159_ListView_v1.zip
    19.7 KB · Affichages: 125
  • pipo159_ListView_v1.zip
    19.7 KB · Affichages: 131

pipo159

XLDnaute Junior
Re : filtre d'un tableau dans listview

re bonsoir,

Ta solution marche nickel,
Je l'ai testé sur mon fichier complet et ça marche aussi

Merci beaucoup de ton aide

Juste une dernière question au cas où:
Pense tu que ça soit possible en double cliquant sur une ligne de la listview (si le genre de la ligne est 1 par exemple) que ça affiche une userform.
Je sais pas si ce genre de chose est possible

Merci encore de ton aide

Pipo
 

pipo159

XLDnaute Junior
Re : filtre d'un tableau dans listview

Bonjour,

Tout d'abord, merci ta réponse aussi rapide.
Alors en fait, suivant la famille auquel appartient la ligne sélectionnée, cela est censé renvoyé vers des logiciels différents.
Je m'explique:
Si la famille de la ligne sélectionnée est 1,2 ou 3 alors cela renvoie vers un logiciel A
Si la famille de la ligne sélectionnée est 4,5 ou 6 alors cela renvoie vers un logiciel B.
Je ne développerai pas ces logiciels ci mais il faudrait au moins que dans l'userform soit indiqué le nom du logiciel (A, ou B par exemple), les différentes caractéristiques (référence, désignation, etc...) de la ligne sélectionnée.
Dans cet userform devra donc etre récapitulé les infos de la ligne sélectionnée et aussi si possible des labels et des textbox vides qui seront remplis par l'utilisateur lors de l'affichage de l'userform (ces données représenteront la nouvelle pièce)
Ces logiciels serviront au final à créer une nouvelle pièce et ensuite la remplacer dans la listview à la place de la ligne sélectionnée.
Je ne sais pas si je suis très clair la^^

Demande moi des précisions sur telle ou telle chose si des choses ne sont pas clair

Merci de ton aide
Bonne chance :p

Pipo
 

pipo159

XLDnaute Junior
Re : filtre d'un tableau dans listview

Voila, je joins un fichier avec les explications sur ce que je souhaiterai faire

Merci de votre aide

Pipo
 

Pièces jointes

  • pipo159_ListView_v1.zip
    18.8 KB · Affichages: 104
  • pipo159_ListView_v1.zip
    18.8 KB · Affichages: 103
  • pipo159_ListView_v1.zip
    18.8 KB · Affichages: 107

pipo159

XLDnaute Junior
Re : filtre d'un tableau dans listview

Re-bonjour

Je viens de voir ce que tu avais fait,
C'est plutôt très bien^^ j'aurai pas été capable de faire ça lol

Par contre juste un petit détail, lorsqu'on choisit "choisir une pièce de remplacement dans la BDD" et qu'on arrive à l'userform2, quand on clic sur OK, les données sont retransmises dans l'userform1. (jusque là c'est ce que je souhaitais.
Seulement est ce qu'il est possible que ces données soient remplacées dans la première listview.
Je sais pas si c'est possible de modifier les listes comme ça

Merci de ta réponse

Pipo
 

pipo159

XLDnaute Junior
Re : filtre d'un tableau dans listview

Re bonjour,

dans ce cas il faudrai rajouter des label et texbox pour visualiser l'ancienne pièce et la pièce qui va la remplacer, ainsi qu'un bouton valider en effet.

Est ce que j'abuserai si tu me montrais comment faire?
Je comprends le code en le lisant mais de la à le faire... j'en suis loin lol

Merci de ton aide

Pipo
 

cbea

XLDnaute Impliqué
Re : filtre d'un tableau dans listview

Voici quelques explications :

Dans la feuille, Userform1, tu rajoutes des Label au dessus des TextBox.
Tu nommes les Label dans l'ordre chronologique d'affichage : Label1, Label2, Label3...
Dans la procédure "ListView1_DblClick" qui se trouve dans la Userform3, tu rajoutes l'affichage des données dans les Label identique à ce qui a été fait pour les TextBox.
Code:
        For Ctrl = 1 To 5
            .Controls("TextBox" & Ctrl).Value = Worksheets("Feuil1").Cells(LigSelectL3, Ctrl).Value
[COLOR="Red"]            .Controls("Label" & Ctrl).Caption = Worksheets("Feuil1").Cells(LigSelectL3, Ctrl).Value[/COLOR]
        Next Ctrl

Tu peux essayer de faire ce que je t'ai décrit.
Je dois partir. A mon retour, je te prépare la mise à jour dans la liste après avoir cliqué sur le bouton "Valider".

Bon dimanche.
 

Discussions similaires

Réponses
40
Affichages
2 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 885
Messages
2 093 259
Membres
105 660
dernier inscrit
moi46