Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Problème de filtre combobox dans une listeview

mallow2000

XLDnaute Nouveau
Bonjour,

Merci tout d'abord de bien vouloir m'aider et de prendre du temps pour essayer de régler mon problème.
J'ai créé un fichier avec un tableau de données. Ensuite j'ai créé une listview qui reprend les éléments du tableau, avec deux combobox qui reprennent les données de la colonne 7 et 8.
Je souhaiterai pouvoir trier uniquement sur ces deux colonnes. Je ne sais pas si c'est faisable, en tout cas je n'y arrive pas. Dés que je sélectionne une donnée dans la combobox1,
toutes les données disparaissent de la listview. Si j'essaye de trier sur la première et deuxième colonne, cela fonctionne très bien, mais sur la 7 et 8, je n'y arrive pas.

En pièce jointe le fichier en question.

Merci beaucoup, j'espère que quelqu'un pourra m'aider à résoudre mon soucis.

Bonne journée
 

Pièces jointes

  • CEP VBA TST4.xlsm
    55.3 KB · Affichages: 4

Oneida

XLDnaute Impliqué
Bonjour,
solution1:
Apres "filtre" CBOINTERVENTION1
faire un "filtre" sur les enregistrements dans la listview sur evenement change de CBOINTERVENTION2 mais recharger la listview avec sub Filtre CBOINTERVENTION1 avant deuxieme "filtre" car lvw plus a jour si un "filtre" a deja ete fait
Si ligne colonne 8 ne correspond pas au contenu de votre CBOINTERVENTION2 alors suppression ligne
solution2:
Faire le "filtre" seulement sur change CBOINTERVENTION2 avec deux criteres CBOINTERVENTION1 et CBOINTERVENTION2, mais affichage seulement a ce moment

Vous aurez beaucoup de lignes dans votre Tableau8?
Si oui, il est possible de faire ceci sur une autre feuille et remplir vote lvw a partir des donnees de cette feuille:
Fichier exemple pour infos que j'avais recupere pour repondre a une demande sur un autre site d'entraide
Mais il y a x facons de remplir une lvw
 

Pièces jointes

  • Filtre_Copie_table_autre_feuille.xlsm
    264.6 KB · Affichages: 3
Dernière édition:

Dranreb

XLDnaute Barbatruc
Oui, à part le Module5 qui existait et dont je ne me suis pas servi, il n'y a rien d'inutile dans les modules ajoutés.
Mais seule la programmation de l'UserForm est spécifique. Le module standard MSujetCBx et les modules de classe c'est de la programmation de service reprise d'ailleurs et qui ne bouge pas.
 

mallow2000

XLDnaute Nouveau
Bonjour,

encore deux petites questions. Est-ce que c'est possible d'avoir toutes les lignes d'afficher à l'ouverture du userform ?
Est-ce possible de rajouter un filtre entre deux dates sur le même userform ?

Merci beaucoup
 

mallow2000

XLDnaute Nouveau
Bonjour.
Voila qui est fait.
Salut. Trop bien. Par contre j'ai juste un petit problème. J'ai intégré ce que tu as fais sur le classeur final. En fait j'avais allégé le "projet" pour l'envoyer. Une fois intégré quand je lance "rechercher une intervention" (le module que tu m'as fait, j'ai une erreur qui s'affiche et je ne comprend pas.
Voici le fichier complet. J'espère que tu pourra m'aider. J'ai essayer de virer le truc qui buguer mais en fait cela fait que les nouveaux enregistrements ne sont pas pris en compte dans la listview.

Merci beaucoup
 

Pièces jointes

  • CEP VBA TST5.xlsm
    945.3 KB · Affichages: 4

Dranreb

XLDnaute Barbatruc
Qu'est-ce que vous avez fabriqué pour que la 5ème ligne soit en dehors du tableau ?
Conseil : Commencez votre Sub comme ça :
VB:
Private Sub BTNSAUVEGARDER_Click()
   Dim RngLig As Range
   Set RngLig = Feuil2.ListObjects(1).ListRows.Add.Range
   RngLig(1).Value = CDate(Me.TXTDATE)
        etc.
Remarque: moi je prèfère envoyer d'abord toutes les valeurs de contrôles dans un tableau, c'est plus rapide de l'affecter ensuite en une seule instruction à RngLig.Value.
J'ai même un objet pendant au ComboBoxLiées, le ControlsAssociés qui s'en charge tout seul
 
Dernière édition:

mallow2000

XLDnaute Nouveau
Merci beaucoup. Tout fonctionne maintenant.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…