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

Listbox: source = données filtrés

  • Initiateur de la discussion Initiateur de la discussion mirooz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mirooz

XLDnaute Nouveau
Bonsoir le forum, c'est avec plaisir que je reviens vers vous pour de nouvelles questions 😉

Voici ci-joint une version très simplifiée d'un gestionnaire de devis facturation que je suis entrain de créer.
J'y ai laissé un userform destiné à sélectionner un client ou un prospect dans une liste et afficher les devis affectés à cette personne.

Le cheminement est le suivant:
- une zone de texte permet de sélectionner un demandeur (prospect ou client) avec des suggestions de résultat dans une liste déroulante.
- Un filtre est appliqué dans la base de données contenant les devis pour conserver uniquement les devis associés au client choisi.
- Une zone contenant les numéros de devis est déterminée et servira de source pour la listbox.

Le problème est que le filtre ne fait que masquer les lignes et vu que les enregistrement de devis pour un client ne sont pas tous adjacents, il y a des devis appartenant à d'autres clients qui apparaissent dans la liste avant, après ou entre les devis souhaités.

Ce n'est peut être pas évident à comprendre mais le fichier exemple parlera de lui même. Testez une recherche sur le nom "Martin" vous verrez de quoi il s'agit.

Merci d'avance pour vos conseils 🙂
 

Pièces jointes

Re : Listbox: source = données filtrés

Bonsoir Mirooz,

une solution, regarde si cela te convient

Code:
'Définition de la liste de devis
'Set Liste_devis = Sheets("bdd_devis").Range(ActiveCell, ActiveSheet.Range("B65536").End(xlUp))
If ActiveCell.Value = "" Then
Exit Sub
Else
With Sheets("bdd_devis")
For Each D In .Range("B3:B" & .Range("B65536").End(xlUp).Row)
Select Case D.EntireRow.Hidden
Case Is = False
ComboBox1.AddItem D
End Select
Next
End With
End If
'Liste_devis.Select
End Sub

Bonne soirée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
915
Réponses
10
Affichages
592
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…