XL 2019 Filtre dans un combobox en fonction d'un checkbox

SPGoder

XLDnaute Occasionnel
Bonjour
Dans ce projet, je voudrais que dans le combobox choix du nom du locataire, apparaisse: soit toute la liste des locataires, soit que la liste des locataires actifs. ce choix est préalablement sélectionné avec un checkbox "actifs" .
J'ai essayé beaucoup de code, mais rien qui fonctionne comme je le souhaite. (quand ça fonctionne...)
Dans le fichier joins, j'ai fais du propre pour laisser un état qui fonctionne (sans le tri par les actifs, puisque c'est là où je rame).
Userform "fiche_loc"
Voila, si un volontaire voulait s'intéresser à mon problème, je l'en remercie
 

Pièces jointes

  • GLP essai.xlsm
    105.7 KB · Affichages: 11

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir @SPGoder , le Forum

Si j'ai bien compris, le Userform corrigé ci-joint devrait te servir de base à ce que tu veux filtrer pour "Locataire Actif" (j'ai interpété que le Locataire est enregistré dans Bail et en plus doit avoir un Bail dont la date de Fin est plus grande ou egale à aujourd'hui)

Ca implique un remaniement aussi du ComboBox3_Change car on ne peut plus s'appuyer sur ListIndex de la Combobox filtrée, ca ne matche plus avec les rows de la Feuille...

Bonne découverte
@+Thierry
 

Pièces jointes

  • XLD_SPGoder_GLP_essai_Locataire_Filter_ComboxBox_v00.xlsm
    88.5 KB · Affichages: 8

SPGoder

XLDnaute Occasionnel
Bonjour Thierry

Encore un merci pour ton travail. (et cette fois ci, j'ai mis un fichier... Je comprends que c'est beaucoup plus facile de visualiser ce que l'on fait.)
Ca implique un remaniement aussi du ComboBox3_Change car on ne peut plus s'appuyer sur ListIndex de la Combobox filtrée, ca ne matche plus avec les rows de la Feuille...
C'est le problème que je rencontrai à chacune de mes tentatives. Ta solution dépasse mes compétences, je vais essayer de m'en inspirer quand je rencontrerai ce type de souci

(j'ai interpété que le Locataire est enregistré dans Bail et en plus doit avoir un Bail dont la date de Fin est plus grande ou egale à aujourd'hui)
Tu as été plus loin que ce que j'avais prévu, il va falloir du coup que je gère les reconductions tacites de bail , mais c'est pas plus mal.
Ce que tu as proposé fonctionne à merveille.
Du coup, le checkbox2 (locataire actif) ne me sert plus à grand chose je pense. car je pensais que tu allais réutilisé celui ci.
Je n'ai pas compris cette parti de code, si tu veux bien me l'expliquer, merci
VB:
Dim CTRL As Control

For Each CTRL In Me.Controls
    If CTRL.Tag = "CLEAR" Then CTRL = ""
Next CTRL

Me.ComboBox1.Clear
Me.ComboBox2.Clear
Me.ComboBox3.Clear
Me.ComboBox4.Clear
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re bonsoir SpGoder

Pour la boucle sur les Controls, (CTRL) c'est pour remettre à vide vu qu'avec le CheckBoxActif on peut "jouer" et revenir en arrière après avoir fait une sélection d'un Locataire Non-Actif par exemple Dupont Marie Claire... Ca ne ferait pas "propre" d'avoir tous les controls montrant des data ne correspondant plus... Si on revient à Actif ...

Idem pour les ComboBox, je Clear le contenu, sinon leurs listes respectives contineraient à s'incrementer à chaque click du CheckBoxActif... (des doublons partout !)

Et pour finir; pour la boucle je m'appuie aussi sur la Propriété "Tag" des TextBoxes qui est assez méconnue et pourtant bien utile, que j'ai définie en Mode Design avec la String "CLEAR" comme suit :

1594495022813.png


Voilà je pense que tu as appris quelque chose aujourd'hui ;)

Bonne soirée
@+Thierry

EDIT :
Et pour ceci :
Du coup, le checkbox2 (locataire actif) ne me sert plus à grand chose je pense. car je pensais que tu allais réutilisé celui ci.
Ben en tout cas tu t'en sers ici et tu vas lire une info :
VB:
CheckBox2 = Ws.Cells(Ligne, "AH")       'donne la valeur vrai ou faux en "U Ligne" de la feuille Locataires pour positionner CheckBox1 "Locataire Actif"
Qui ne matche pas forcément avec la recherche Active faite en live sur CheckBoxActif...

Je ne sais pas si tu te sers encore de ça et comment c'est mis à jour dans [Locataires]...
1594495526442.png
 
Dernière édition:

SPGoder

XLDnaute Occasionnel
Merci pour les explications
Pour le checkbox2, je verrais si plus tard je m'en sers
J'appends tous les jours, et des fois je passe des heures sur un petit truc de rien du tout, et quand vraiment je ne trouve pas, je demande ;)
Bon week end et encore merci
 

Discussions similaires