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

definir le rowsource d'une listbox

Y

yvan

Guest
bonjour le forum

est-il possible de de définir dans la rowsource d'une listbox, les références d'une feuille d'un autre classeur ?

exemple : dans le classeur prog.xls, j'ai un USF contenant une listbox et je voudrais faire référence à une feuille se situant dans un classeur bdd.xls.

cela est-il possible ou faut-il que la feuille de référence se situe dans le meme classeur ?

merci de vos réponses
 
@

@+Thierry

Guest
Salut Yvan

Oui Oui ! C'est tout a fait possible, mail il faut que le classeur Bdd.xls soit ouvert.

Voici un extrait de code qui serait donc placé dans l'initialisation du UserForm contenu dans un autre classeur (prog.xls) :

Private Sub UserForm_Initialize()

Dim VarDerLigneClient As Integer
Dim VarPlageListClient As String
VarDerLigneClient = Workbooks("bdd.xls").Sheets("Clients").Range("A65536").End(xlUp).Row
VarPlageListClient = Workbooks("Bdd.xls").Sheets("Clients").Range("A2:C" & VarDerLigneClient).Address
ComboBoxClient.ColumnCount = 3
ComboBoxClient.RowSource = "[Bdd.xls]Clients!" & VarPlageListClient

End Sub


Bon Aprèm
@+Thierry
 
Y

yvan

Guest
boujour à tous

merci thierry pour ta réponse, mais j'ai toujours un message d'erreur "impossible de définir la propriété rowsource".

en fait, j'ai oublié de préciser que je voulais utiliser la fonction @GetObject pour effectuer des modifications avec un classeur fermé.

voici mon code :

Chemin = ThisWorkbook.Path
NomFich = "\Base de donnees.xls"
Set classeur = GetObject(Chemin & NomFich)
L = classeur.Sheets("Locataire").Range("A65536").End(xlUp).Row
Plage = classeur.Sheets("Locataire").Range("A1:U" & L).Address
LstLocataire.RowSource = "[Base de donnees.xls]Locataire!" & Plage

est-il possible de faire cela avec un classeur fermé et la fonction @GetObject ou alors faut-il que le classeur soit ouvert ?

merci de vos réponses
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…