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

Alimenter lisbox

4 réponses
Avatar
EliotNaiss
Bonjour à tous,
Je suis sous Excel 2000 et je désire dans un classeur A, utiliser un
userform qui contient une liste déroulante et une zone de texte.
J'ai un classeur B qui a sur la feuil1, 2 colonnes (A des codes et B des
références).
J'essaye d'alimenter la liste déroulante avec le contenu de la colonne des
codes (A) et faire afficher la référence (B) qui correspond au choix du
code, pour reporter code et référence sur une feuille du classeur A.
Faire ces recherches dans un seul classeur ca va, mais sur un classeur
distant, je nage ...
Merci par avance de l'aide apportée.
Cordialement.
Eliot

4 réponses

Avatar
JB
Bonsoir,

Pour alimenter la liste, si classeurSource.xls est ouvert:

Dans Initialize:

Me.ComboBox1.RowSource = "'[ClasseurSource.xls]Feuil1'!A2:B10"

-Si champ nommé dans Classeur Source.Xls:
Me.ComboBox1.RowSource = "'[ClasseurSource.xls]Feuil1'!LaListe"

JB


Bonjour à tous,
Je suis sous Excel 2000 et je désire dans un classeur A, utiliser un
userform qui contient une liste déroulante et une zone de texte.
J'ai un classeur B qui a sur la feuil1, 2 colonnes (A des codes et B des
références).
J'essaye d'alimenter la liste déroulante avec le contenu de la colonne des
codes (A) et faire afficher la référence (B) qui correspond au choix du
code, pour reporter code et référence sur une feuille du classeur A.
Faire ces recherches dans un seul classeur ca va, mais sur un classeur
distant, je nage ...
Merci par avance de l'aide apportée.
Cordialement.
Eliot


Avatar
EliotNaiss
Bonsoir JB
merci de l'aide, c'est ce que je voulais, mais si le classeur est fermé, ce
qui je crois sera normalement !!, faut-il préciser tout le chemin ?? ou
est-ce une autre syntaxe ?

Eliot

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

Bonsoir,

Pour alimenter la liste, si classeurSource.xls est ouvert:

Dans Initialize:

Me.ComboBox1.RowSource = "'[ClasseurSource.xls]Feuil1'!A2:B10"

-Si champ nommé dans Classeur Source.Xls:
Me.ComboBox1.RowSource = "'[ClasseurSource.xls]Feuil1'!LaListe"

JB


Bonjour à tous,
Je suis sous Excel 2000 et je désire dans un classeur A, utiliser un
userform qui contient une liste déroulante et une zone de texte.
J'ai un classeur B qui a sur la feuil1, 2 colonnes (A des codes et B des
références).
J'essaye d'alimenter la liste déroulante avec le contenu de la colonne des
codes (A) et faire afficher la référence (B) qui correspond au choix du
code, pour reporter code et référence sur une feuille du classeur A.
Faire ces recherches dans un seul classeur ca va, mais sur un classeur
distant, je nage ...
Merci par avance de l'aide apportée.
Cordialement.
Eliot


Avatar
JB
A ma connaissance, ce n'est pas possible, il faut d'abord récupérer
les infos dans un champ du classeur actif:

Sol 1- Copier/Coller avec liaison
Sol 2- Lit un champ d'un classeur fermé (si le classeur est variable)
Sub LitClasseurFermé()
ChDir ActiveWorkbook.Path
ChampOuCopier = "C2:C3"
Chemin = ActiveWorkbook.Path
Fichier = "stock.xls"
onglet = "Janvier"
ChampAlire = "B2:B3"
LitChamp ChampOuCopier, Chemin, Fichier, onglet, ChampAlire
End Sub

Sub LitChamp(ChampOuCopier, Chemin, Fichier, onglet, ChampAlire)
Range(ChampOuCopier).Formula = "='" & Chemin & "[" & Fichier & "]"
& onglet & "'!" & ChampAlire
Range(ChampOuCopier).Value = Range(ChampOuCopier).Value
End Sub

Sol3: ADO
' dans Outils/Références cocher
' Microsoft ActivexDataObject 2.8 Library
ChDir ActiveWorkbook.Path
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver
(*.xls)};DBQ=jb-formulaire.XLS"
Set rs = cnn.Execute("SELECT service FROM MaListe GROUP BY Service")
Do While Not rs.EOF
Me.Choix.AddItem rs("Service")
rs.MoveNext
Loop
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing

JB


Bonsoir JB
merci de l'aide, c'est ce que je voulais, mais si le classeur est fermé , ce
qui je crois sera normalement !!, faut-il préciser tout le chemin ?? ou
est-ce une autre syntaxe ?

Eliot

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

Bonsoir,

Pour alimenter la liste, si classeurSource.xls est ouvert:

Dans Initialize:

Me.ComboBox1.RowSource = "'[ClasseurSource.xls]Feuil1'!A2:B10"

-Si champ nommé dans Classeur Source.Xls:
Me.ComboBox1.RowSource = "'[ClasseurSource.xls]Feuil1'!LaListe"

JB


Bonjour à tous,
Je suis sous Excel 2000 et je désire dans un classeur A, utiliser un
userform qui contient une liste déroulante et une zone de texte.
J'ai un classeur B qui a sur la feuil1, 2 colonnes (A des codes et B d es
références).
J'essaye d'alimenter la liste déroulante avec le contenu de la colonn e des
codes (A) et faire afficher la référence (B) qui correspond au choi x du
code, pour reporter code et référence sur une feuille du classeur A.
Faire ces recherches dans un seul classeur ca va, mais sur un classeur
distant, je nage ...
Merci par avance de l'aide apportée.
Cordialement.
Eliot




Avatar
EliotNaiss
je vais tester, merci
eliot
"JB" a écrit dans le message de news:

A ma connaissance, ce n'est pas possible, il faut d'abord récupérer
les infos dans un champ du classeur actif:

Sol 1- Copier/Coller avec liaison
Sol 2- Lit un champ d'un classeur fermé (si le classeur est variable)
Sub LitClasseurFermé()
ChDir ActiveWorkbook.Path
ChampOuCopier = "C2:C3"
Chemin = ActiveWorkbook.Path
Fichier = "stock.xls"
onglet = "Janvier"
ChampAlire = "B2:B3"
LitChamp ChampOuCopier, Chemin, Fichier, onglet, ChampAlire
End Sub

Sub LitChamp(ChampOuCopier, Chemin, Fichier, onglet, ChampAlire)
Range(ChampOuCopier).Formula = "='" & Chemin & "[" & Fichier & "]"
& onglet & "'!" & ChampAlire
Range(ChampOuCopier).Value = Range(ChampOuCopier).Value
End Sub

Sol3: ADO
' dans Outils/Références cocher
' Microsoft ActivexDataObject 2.8 Library
ChDir ActiveWorkbook.Path
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
cnn.Open "DRIVER={Microsoft Excel Driver
(*.xls)};DBQ=jb-formulaire.XLS"
Set rs = cnn.Execute("SELECT service FROM MaListe GROUP BY Service")
Do While Not rs.EOF
Me.Choix.AddItem rs("Service")
rs.MoveNext
Loop
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing

JB


Bonsoir JB
merci de l'aide, c'est ce que je voulais, mais si le classeur est fermé,
ce
qui je crois sera normalement !!, faut-il préciser tout le chemin ?? ou
est-ce une autre syntaxe ?

Eliot

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

Bonsoir,

Pour alimenter la liste, si classeurSource.xls est ouvert:

Dans Initialize:

Me.ComboBox1.RowSource = "'[ClasseurSource.xls]Feuil1'!A2:B10"

-Si champ nommé dans Classeur Source.Xls:
Me.ComboBox1.RowSource = "'[ClasseurSource.xls]Feuil1'!LaListe"

JB


Bonjour à tous,
Je suis sous Excel 2000 et je désire dans un classeur A, utiliser un
userform qui contient une liste déroulante et une zone de texte.
J'ai un classeur B qui a sur la feuil1, 2 colonnes (A des codes et B
des
références).
J'essaye d'alimenter la liste déroulante avec le contenu de la colonne
des
codes (A) et faire afficher la référence (B) qui correspond au choix du
code, pour reporter code et référence sur une feuille du classeur A.
Faire ces recherches dans un seul classeur ca va, mais sur un classeur
distant, je nage ...
Merci par avance de l'aide apportée.
Cordialement.
Eliot