Remplir une listbox d'un UserForm avec variables

Résolu/Fermé
achmor - Modifié par achmor le 5/08/2016 à 11:46
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 8 août 2016 à 14:55
Bonjour à toutes et à tous,

Mon document de base est un planning. Je dois le remplir, reporter, supprimer, ...
Toute cette partie est rédigée et fonctionne correctement.
Ayant plusieurs milliers de ligne je me suis lancé sur la création d'une fonction.
Cette fonction est contenue dans la page de code principal, et ma listbox est dans un userform.

Elle récupère :
- un numéro de ligne
- un numéro de colonne
- le nom de la feuille ciblée


Je me retrouve donc avec trois variables :
ligne
colonne
nom_feuille


Mon soucis est que je n'arrive pas à remplir ma ListBox.
Je souhaite que celle-ci (Liste_Valider_Choix) prenne la valeur de "emplacement"
emplacement = nom_feuille.Cells(ligne, colonne)
Cependant j'ai cru comprendre que les .RowSource (que j'utilisais jusqu'à présent) ne permettent pas de sélectionner une seule case.
(Oui, mon plus gros soucis est que j'ai conçu mon document en entrant plusieurs valeurs dans la même cellule, j'utilise donc un code (qu'il me reste à concevoir) qui va séparer chaque ligne de cette cellule, et qu'il faudrait utiliser quelque chose comme ça :
emplacement = nom_feuille.Range(Cells(ligne, colonne), Cells(ligne, colonne))

Si quelqu'un sait comment je peux remplir ma listbox avec le contenu de ma cellule sans pour autant interdire mes futurs Instr qui vont me permettre de séparer chaque ligne dans cette cellule, je lui serait très reconnaissant.

Je suis sur que la réponse me fera certainement passer pour un pur débutant mais bon, mieux vaut avoir l'air bête 5min que de le rester jusqu'à sa mort non ? :)
Bien à vous !

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
8 août 2016 à 14:55
Bonjour,

Si vous avez un separateur de liste valable, transferez le contenu de la cellule avec un Split dans un tableau:
ex
emplacement=Split(nom_feuille.Cells(ligne, colonne),"monseparateur")
ListBox1.List = emplacement
0