Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

RowSource d'un ComboBox vers un autre fichier

6 réponses
Avatar
Steph
Bonjour,

Y a t'il moyen de diriger un RowSource d'un ComboBox vers un autre fichier
non ouvert ?

Voici le code pour diriger vers la zone listeClient dans la feuille Clients
mais comment ajouter le nom du fichier ?
ComboBox1.RowSource = ("Clients!listeClient")

Merci de votre aide,

Steph

6 réponses

Avatar
papou
Bonjour
Il est possible de lire une plage de cellules d'un classeur fermé :
http://perso.wanadoo.fr/frederic.sigonneau/code/Ado/ADOLireClasseurFerme.txt
Mais dans ton cas, je te suggererais plutôt de faire simplement un lien dans
le classeur vers ces valeurs.
Cordialement
Pascal

"Steph" a écrit dans le message de news:

Bonjour,

Y a t'il moyen de diriger un RowSource d'un ComboBox vers un autre fichier
non ouvert ?

Voici le code pour diriger vers la zone listeClient dans la feuille
Clients mais comment ajouter le nom du fichier ?
ComboBox1.RowSource = ("Clients!listeClient")

Merci de votre aide,

Steph




Avatar
Steph
Je me suis peut être mal fait comprendre, je veux bien que le fichier soit
ouvert,
je veux juste pouvoir modifier cette ligne
ComboBox1.RowSource = ("Clients!listeClient")
afin de pouvoir lire dans un fichier que j'ouvrirais préalablement avec ma
macro.

Merci

Steph
Avatar
papou
Re
Dans ces conditions, si les deux fichiers sont ouverts, indique directement,
en mode création du Userform, dans la propriété RowSource de ta combo, le
nom défini dans l'autre classeur.
Ca marche sans problème (testé Excel 2003)
Cordialement
Pascal

"Steph" a écrit dans le message de news:

Je me suis peut être mal fait comprendre, je veux bien que le fichier soit
ouvert,
je veux juste pouvoir modifier cette ligne
ComboBox1.RowSource = ("Clients!listeClient")
afin de pouvoir lire dans un fichier que j'ouvrirais préalablement avec ma
macro.

Merci

Steph




Avatar
papou
Re
Petite rectification après test un peu plus poussé ;-)
en fait cela fonctionne uniquement si le classeur contenant la plage nommée
est actif.
Donc peut-être que dans ton cas il faudrait ajouter l'activation dudit
classeur avec l'évènement Initialize de ton userform ?
Cordialement
Pascal

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Re
Dans ces conditions, si les deux fichiers sont ouverts, indique
directement, en mode création du Userform, dans la propriété RowSource de
ta combo, le nom défini dans l'autre classeur.
Ca marche sans problème (testé Excel 2003)
Cordialement
Pascal

"Steph" a écrit dans le message de
news:
Je me suis peut être mal fait comprendre, je veux bien que le fichier
soit ouvert,
je veux juste pouvoir modifier cette ligne
ComboBox1.RowSource = ("Clients!listeClient")
afin de pouvoir lire dans un fichier que j'ouvrirais préalablement avec
ma macro.

Merci

Steph








Avatar
Michel Pierron
Bonjour Steph;
"MonFichier.xls" doit être ouvert:

Private Sub UserForm_Initialize()
Const Wbk As String = "MonFichier.xls"
Me.ComboBox1.RowSource = RefersTo(Wbk, 1, "$A$1", "$A$5")
End Sub

Private Function RefersTo(Wbk$, id%, Début$, Fin$) As String
Dim Rng As String
Rng = Workbooks(Wbk).Sheets(id).Name & "!" & Début & ":" & Fin
RefersTo = "[" & Wbk & "]" & Rng
End Function

MP

"Steph" a écrit dans le message de
news:
Bonjour,

Y a t'il moyen de diriger un RowSource d'un ComboBox vers un autre fichier
non ouvert ?

Voici le code pour diriger vers la zone listeClient dans la feuille
Clients

mais comment ajouter le nom du fichier ?
ComboBox1.RowSource = ("Clients!listeClient")

Merci de votre aide,

Steph




Avatar
Steph
merci je test


"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
%
Re
Petite rectification après test un peu plus poussé ;-)
en fait cela fonctionne uniquement si le classeur contenant la plage
nommée est actif.
Donc peut-être que dans ton cas il faudrait ajouter l'activation dudit
classeur avec l'évènement Initialize de ton userform ?
Cordialement
Pascal

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Re
Dans ces conditions, si les deux fichiers sont ouverts, indique
directement, en mode création du Userform, dans la propriété RowSource de
ta combo, le nom défini dans l'autre classeur.
Ca marche sans problème (testé Excel 2003)
Cordialement
Pascal

"Steph" a écrit dans le message de
news:
Je me suis peut être mal fait comprendre, je veux bien que le fichier
soit ouvert,
je veux juste pouvoir modifier cette ligne
ComboBox1.RowSource = ("Clients!listeClient")
afin de pouvoir lire dans un fichier que j'ouvrirais préalablement avec
ma macro.

Merci

Steph