XL 2013 Lignes de résultats surnuméraires dans une ListBox

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 !

kiko_23

XLDnaute Junior
Bonjour à tous,

Ayant été promptement aidé et éduqué hier sur un problème de tri, je me résous à vous soumettre un autre petit soucis qui m'ennuie depuis un moment, quelque chose me dit que pour les membres du forum cela devrait être une évidence :

Dans le fichier joint, un formulaire contenant une ComboBox permettant de chercher les occurrences d'un terme dans la feuille "table" et de les afficher dans une ListBox.
Mon problème : la ListBox affiche sous les résultats un nombre de lignes vides et sélectionnables dont je n'arrive pas à déterminer l'origine.

Merci d'avance pour votre aide et votre sagacité !
 

Pièces jointes

Et la lumière fut ! Diantre quelle subite satisfaction ! Un ENORME merci Dranreb !
A partir d'ici je devrais pouvoir finir l'implémentation de vos ComboBox liées sans trop de difficultés sur le reste de mon projet.

Que cette journée vous soit douce et propice !
 
Il faudra probablement que je garnisse encore une de vos versions de la définition de l'objet ControlsAssociés et que je vous montre les façons normales d'ajouter, modifier et supprimer une ligne. Pas besoin de programmer les détails des mouvement de données. Leurs méthodes ValeursDepuis et ValeursVers le fait très bien.
 
Il faudra probablement que je garnisse encore une de vos versions de la définition de l'objet ControlsAssociés et que je vous montre les façons normales d'ajouter, modifier et supprimer une ligne. Pas besoin de programmer les détails des mouvement de données. Leurs méthodes ValeursDepuis et ValeursVers le fait très bien.

Oh. Jusqu'ici je passais par un clear content complet de la ligne concernée du tableau et une réinscription de chaque valeur mais c'est vrai que cela donne un code long, répétitif et sommes toutes peu élégant.
 
Et bien j'avais parlé un peu vite. A partir du moment ou je fais de mon tableau final à 34 colonnes un ListObject, le temps d'ouverture du formulaire de recherche passe de quasi instantané (lorsque je n'ai que 9 colonnes) à une douzaine de secondes et lors d'une réouverture du fichier excel on flirte avec les 25 secondes !

Je suppose que ce n'est pas une conséquence attendue de la création d'un ListObject, qu'elle pourrait selon vous en être la cause ?
 
Je ne sais pas, il faudrait que je le voie
Mais il vaudrait mieux spécifier juste la feuille au CLs.Plage et spécifier les intitulés de colonnes aux CLs.Add
Si on spécifie un plage classique sans préciser True en second paramètre il prend les lignes entières, ce qui est plus long à charger.
Notez qu'il n'y a pas à définir 34 ComboBox de recherche, quand même !
 
Je ne sais pas ce que j'ai foutu, mais je viens de m’apercevoir que mon tableau a un ListObject sur pas moins de 16383 colonnes !
Mon petit doigt me dit que le problème doit se situer par là 🙄
Incroyable, ça marche mieux maintenant, c'est fou comme 16350 malheureuses petites colonnes peuvent peser sur un processus...
J'avais du faire un Ctrl+A pour créer le ListObj au lieu de sélectionner à la main. Cette bêtise m'aura couté près de 3h à essayer de comprendre et de contourner un problème qui se serait vu en un scroll horizontal sur le tableau... L'apprentissage dans la douleur.
 
Alors qu'il aurait suffit de taper les nouveaux intitulés de colonnes pour agrandir le tableau …
Je crois qu'il aurait surtout fallu que je lise la boite de dialogue du formatage en tableau, parce qu'avec une feuille qui ne comporte que 34 colonnes, si je fais un Ctrl + A et lance le formatage, celui-ci propose par défaut la plage $1:$1048576 , ce qui de mon point de vue est tout de même assez inattendu.
 
Jamais remarqué: je sélectionne toujours d'abord la plage à mettre sous forme de tableau.

Dites-moi, y aurait-il une façon de délier les ComboBox ?

Je m'explique : si je désire que dans mon formulaire d'ajout la Cbb_2 dépende effectivement du choix effectué dans Cbb_1 mais que Cbb_3 propose toujours toutes les valeurs présentes dans le tableau, est-ce possible ?

Je peux évidemment le faire en repassant par mon code initial d'avant l'implémentation de la class cbb liées, mais si cette option existe ce serait dommage que je bricole.
 
Ne faites pas gérer la Cbb_3 par un objet ComboBoxLiées, c'est tout. Sa Liste peut néanmoins être calculée à l'initialisation en une seule instruction utilisant une Function du module MSujetCBx: Cbb_3.List = SujetCBx(CLs.Colonnes(X).DataBodyRange)(0)
 
Bonjour Dranreb ! J'espère que vous avez passé un bon week-end !

Je reviens pour une question subsidiaire au sujet des ComboBoxs liées : vous parait-il possible d'exclure une valeur de la liste ?
Par exemple, si le tableau utilisé contient les valeurs A, B et C et que je souhaite que la ComboBox n'affiche que A et B .
 
- 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

Retour