XL 2013 En tête de colonnes sur listbox

tit32600

XLDnaute Nouveau
Bonjour à tous

Petit problème avec mon formulaire.

J'ai un formulaire de recherche, qui me permet de trier, filtrer, en fonction de plusieurs critères.

Mon problème, est que je n'arrive pas à mettre les intitulés de colonnes, dans ma listbox.

je joint mon fichier.
 

Pièces jointes

  • exemple.xlsm
    43.2 KB · Affichages: 15

juvaxe

XLDnaute Occasionnel
Bonjour

Ci-joint en "exemple_bis" une proposition d'amélioration

J'ai repris le façon dont je procède à titre personnel.

En fin de Userform_Initialize il y a la modification - une ligne de code - que je te propose.

Bien évidemment je te laisse le soin de l'intégrer et de la mettre au bon endroit en remplacement de ta programmation initiale. J'ai mis en dur le nombre de lignes (45) de la feuille Stock et le nombre de colonnes (10) à retenir pour procéder au chargement de la Listbox1. J'ai cru voir que tu disposais des variables correspondantes.

J'ai supprimé la première ligne de la feuille Stock pour faire en sorte que les intitulés soient bien en première ligne. Je ne sais pas si cette ligne a un réel intérêt, je te laisse voir. Si tu la remets, les intitulés vont disparaître en cas de scroll au profit de la ligne avec les numéros qui elle va rester en place en tête de la Listbox.

Bonne réception
 

Pièces jointes

  • exemple_bis.xlsm
    42.6 KB · Affichages: 33

juvaxe

XLDnaute Occasionnel
Bonsoir

Effectivement j'ai focalisé sur la question des intitulés sans aller au-delà ...

J'ai cherché à comprendre; il ne m'appartient pas cependant de remettre en cause l'ergonomie du classeur.

Il y a me semble-t-il une colonne cachée (la B - le code barre) qui provoque un décalage.

Je n'ai ni vu ni compris comment tu passes de la feuille Stock au tableau TblBD qui est sensé être son image en mémoire.

Dans la routine qui plante, si je fais -1 dans les index le plantage disparaît, mais avec quelle conséquence ?

Par ailleurs je n'ai rien fait pour compenser la numérotation de lignes que tu fais dans le tableau au démarrage.

Je m'arrête donc.

Solutions possibles pour moi :
- Renoncer aux intitulés et les remplacer par un libellé situé juste au dessus de la Listbox (pas très satisfaisant j'en conviens ..)
- Renoncer au TblBD en mémoire; la feuille Stock est déjà en mémoire, donc il n'y a pas de différence en terme de performance; à moins que le tableau aie une autre utilité que je n'ai pas vue

Cordialement
 

ChTi160

XLDnaute Barbatruc
Bonsoir tit32600
Bonsoir le Fil ,le Forum

l'éternel problème du "Rowsource" et des 10 colonnes de la ListBox Lol
dans ta procédure tu mets 17 colonnes a ta ListBox1 et ensuite tu as en fin de Procédure
VB:
 Me.ListBox1.RowSource = Sheets("STOCK").Range(Cells(2, 1), Cells(45, 10)).Address
  '                  10 est le nombre de colonnes à prendre en compte
  '                  45 est le nombre de lignes du tableau stock
jean marie
 

Statistiques des forums

Discussions
312 296
Messages
2 086 962
Membres
103 409
dernier inscrit
Dave56