Lisbox

recovery

XLDnaute Junior
Bonjour à tous

Une fois de plus je m'en remets à vous.
Voici mon problème ma base de données fournisseurs construite, avec ma ComBoBox pour la sélection et les différentes TexBox dédiées à l'adresse etc etc..... néanmoins en ce qui concerne la TexBox produit cette dernière indique une généralité, par exemple je sélectionne le fournisseur Océdis et la texbox Produit affiche désinfection sans pour autant mentionner la liste de tous les produits, d'où l'insertion dans ma BD d'une ListBox dédiée à cette effet.
D'une part je ne sais pas l'alimenter et D'autre part la liste complète des produits se situe sur une autre feuille nommée produit, Ces listes portent un nom défini part les fonctions DECALER et NBVAL de sorte que tout nouvel ajout soit pris en compte.(version 2003)

Merci.
 

Pièces jointes

  • Fournisseurs.zip
    22.1 KB · Affichages: 46
  • Fournisseurs.zip
    22.1 KB · Affichages: 44
  • Fournisseurs.zip
    22.1 KB · Affichages: 43

recovery

XLDnaute Junior
Re : Lisbox

Bonjour

Une idée .. non deux

A toi de choisir

Un grand merci banzai tu as résolus mon souci en un rien de temps bravo !
néanmoins dans la 1 er solution proposé peux tu me décrypter la syntaxe en langage courant de manière à ce je puisse la comprendre et le cas échéant m'en servir de nouveau la comprendre me permet de la retenir plus facilement
Me.ListBox1.RowSource = Fournisseurs(LapositionOccupée - 1)
et pour la seconde
Set Plage = Range("ColA").Offset(0, LapositionOccupée - 1).Resize(Application.CountA(Range("ColA").Offset(0, LapositionOccupée - 1)))

Bien cordialement

Merci
 

Banzai64

XLDnaute Accro
Re : Lisbox

Bonjour

Me.ListBox1.RowSource = Fournisseurs(LapositionOccupée - 1)

Je définis la propriété RowSource de la ListBox avec la zone nommée correspondante qui est inscrite dans le tableau Fournisseurs
(LapositionOccupée - 1) donne l'indice de ce tableau

Set Plage = Range("ColA").Offset(0, LapositionOccupée - 1).Resize(Application.CountA(Range("ColA").Offset( 0, LapositionOccupée - 1)))

Je définis une plage dynamiquement (je ne sais pas si cela se dit) en fonction toujours du numéro trouvé ( LapositionOccupée - 1) qui me permet de l'affecter à un zone nommée qui elle est affectée à la propiété RowSource

entre deux choix vas voir dans Insertion -->Noms-->Définir
la valeur de liste

Je suis pas top top aux niveaux des explications alors si quelqu'un d'autre peut mieux expliquer qu'il n'hésite pas
 

Robert

XLDnaute Barbatruc
Re : Lisbox

Bonsoir le fil, bonsoir le forum,

En voulant regarder le code de Banzai pour l'expliquer, j'ai eu du mal à comprendre sa méthode qui fonctionne très bien pourtant...
Du coup je t'en propose une autre qui demande juste que la liste des produits soit placée sous le nom du fournisseurs (exemple : Ocedis et pas Produits océdis). On ne passe plus par une plage nommée pour alimenter la ListBox1. Code commenté. Pas sûr que ce soit mieux mais comme ça tu as deux options...
 

Pièces jointes

  • Recovery_v01.xls
    73 KB · Affichages: 77
  • Recovery_v01.xls
    73 KB · Affichages: 76
  • Recovery_v01.xls
    73 KB · Affichages: 78

recovery

XLDnaute Junior
Re : Lisbox

Bonsoir le fil, bonsoir le forum,

En voulant regarder le code de Banzai pour l'expliquer, j'ai eu du mal à comprendre sa méthode qui fonctionne très bien pourtant...
Du coup je t'en propose une autre qui demande juste que la liste des produits soit placée sous le nom du fournisseurs (exemple : Ocedis et pas Produits océdis). On ne passe plus par une plage nommée pour alimenter la ListBox1. Code commenté. Pas sûr que ce soit mieux mais comme ça tu as deux options...

Merci Robert pour ton aide de plus tu as pris le temps de commenter les différentes syntaxes avec tes explications plus celles de bonzai je devrais aisément m'en sortir.
Un sacré forum qui mérite à être connu d'une part pour les profanes comme moi
qui se trouve souvent bloqué et d'autre part pour les compétences des différents intervenants.

Encore merci
Bien cordialement
 

Statistiques des forums

Discussions
299 702
Messages
1 978 588
Membres
206 297
dernier inscrit
ousssama