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

ComboBox à 2 colonnes avec données dans Access

3 réponses
Avatar
Florent Faivre
Bonsoir à tous,

J'ai une base de données access dans laquelle je souhaite prendre des infos
contenues dans une table pour les mettre dans une combobox qui se trouve sur
un fichier excel.

Ma table est la table TB_Partenaires, dans laquelle je veux récupérer
IdPartenaire et NomPartenaire

Mon combobox dans excel s'appelle cboPartenaire1

Et voila le code qui me permet de remplir ma combo avec NomPartenaire

Set rs = db.OpenRecordset("SELECT IdPartenaire, NomPartenaire FROM
TB_Partenaires ORDER BY NomPartenaire;")
While Not rs.EOF
Worksheets("Partenaires").cboPartenaire1.AddItem rs(1)
rs.MoveNext
Wend

Mais je ne sais pas comment stocker la valeur IdPartenaire ????
Et j'aimerais savoir également comment récupérer cette valeur une fois qu'un
partenaire sera sélectionné?...

Merci de votre aide à tous

Florent

3 réponses

Avatar
MPi
Salut,

Ça pourrait ressembler à cela
Au lieu de I = 0, tu pourrais mettre I = 1
et avant de faire la boucle, tu inscris les entêtes
Worksheets("Partenaires").cboPartenaire1.AddItem
Worksheets("Partenaires").cboPartenaire1.List(0,0) = "ID"
Worksheets("Partenaires").cboPartenaire1.List(0,1) = "Partenaire"


I = 0 ' à modifier selon...
While Not rs.EOF
Worksheets("Partenaires").cboPartenaire1.AddItem
Worksheets("Partenaires").cboPartenaire1.List(I,0) = rs!IdPartenaire
Worksheets("Partenaires").cboPartenaire1.List(I,1) =
rs!omPartenaire
I = I + 1
rs.MoveNext
Wend

Et ne pas oublier de mettre à 2 le nombre de colonnes du Combobox dans les
propriétés

Michel


Bonsoir à tous,

J'ai une base de données access dans laquelle je souhaite prendre des infos
contenues dans une table pour les mettre dans une combobox qui se trouve sur
un fichier excel.

Ma table est la table TB_Partenaires, dans laquelle je veux récupérer
IdPartenaire et NomPartenaire

Mon combobox dans excel s'appelle cboPartenaire1

Et voila le code qui me permet de remplir ma combo avec NomPartenaire

Set rs = db.OpenRecordset("SELECT IdPartenaire, NomPartenaire FROM
TB_Partenaires ORDER BY NomPartenaire;")
While Not rs.EOF
Worksheets("Partenaires").cboPartenaire1.AddItem rs(1)
rs.MoveNext
Wend

Mais je ne sais pas comment stocker la valeur IdPartenaire ????
Et j'aimerais savoir également comment récupérer cette valeur une fois qu'un
partenaire sera sélectionné?...

Merci de votre aide à tous

Florent





Avatar
Florent Faivre
Bonjour Michel,

Ca marche nickel ce que tu m'as proposé.
Sauf pour les entêtes... impossible de les avoir.
Je me permet de te poser une question de plus.

J'ai lié le combobox à une cellule sur la feuille pour récupérer sa valeur.
Ca ca marche.
J'ai mis :
Boundcolumn = 1
columncount = 2
columheads = true (et pourtant ca ne s'affiche pas)
columnwidth = 0 pt;85pt (pour ne pas afficher la colonne des "Id")

Donc je sélectionne une ligne ds mon combobox. Dans ma cellule liée, j'ai
bien son Id correspondant, et ds le combo, le nom.
Qd je ferme le fichier (apres l'avoir enregistré) et que je le réouvre, la
cellule liée est tjs ok, mais le combobox m'affiche la valeur de la cellule
liée, et non le nom associé.
Aurais tu une idée?

Merci de ton aide.

Florent

"MPi" a écrit dans le message de
news:
Salut,

Ça pourrait ressembler à cela
Au lieu de I = 0, tu pourrais mettre I = 1
et avant de faire la boucle, tu inscris les entêtes
Worksheets("Partenaires").cboPartenaire1.AddItem
Worksheets("Partenaires").cboPartenaire1.List(0,0) = "ID"
Worksheets("Partenaires").cboPartenaire1.List(0,1) = "Partenaire"


I = 0 ' à modifier selon...
While Not rs.EOF
Worksheets("Partenaires").cboPartenaire1.AddItem
Worksheets("Partenaires").cboPartenaire1.List(I,0) rs!IdPartenaire
Worksheets("Partenaires").cboPartenaire1.List(I,1) > rs!omPartenaire
I = I + 1
rs.MoveNext
Wend

Et ne pas oublier de mettre à 2 le nombre de colonnes du Combobox dans les
propriétés

Michel


Bonsoir à tous,

J'ai une base de données access dans laquelle je souhaite prendre des
infos


contenues dans une table pour les mettre dans une combobox qui se trouve
sur


un fichier excel.

Ma table est la table TB_Partenaires, dans laquelle je veux récupérer
IdPartenaire et NomPartenaire

Mon combobox dans excel s'appelle cboPartenaire1

Et voila le code qui me permet de remplir ma combo avec NomPartenaire

Set rs = db.OpenRecordset("SELECT IdPartenaire, NomPartenaire FROM
TB_Partenaires ORDER BY NomPartenaire;")
While Not rs.EOF
Worksheets("Partenaires").cboPartenaire1.AddItem rs(1)
rs.MoveNext
Wend

Mais je ne sais pas comment stocker la valeur IdPartenaire ????
Et j'aimerais savoir également comment récupérer cette valeur une fois
qu'un


partenaire sera sélectionné?...

Merci de votre aide à tous

Florent







Avatar
Florent Faivre
Ah ben en cherchant un peu...
A l'ouverture je stocke la valeur de la colonne liée dans une variable.
Je remplis mon combobox avec ton texte, et ensuite je donne la valeur de la
variable au comboxbox!
simple!

Worksheets("Partenaires").cboPartenaire1.Value = z


Merci pour ton aide en tout cas!

"Florent Faivre" a écrit dans le message de
news:dca4a2$3kp$
Bonjour Michel,

Ca marche nickel ce que tu m'as proposé.
Sauf pour les entêtes... impossible de les avoir.
Je me permet de te poser une question de plus.

J'ai lié le combobox à une cellule sur la feuille pour récupérer sa
valeur.

Ca ca marche.
J'ai mis :
Boundcolumn = 1
columncount = 2
columheads = true (et pourtant ca ne s'affiche pas)
columnwidth = 0 pt;85pt (pour ne pas afficher la colonne des "Id")

Donc je sélectionne une ligne ds mon combobox. Dans ma cellule liée, j'ai
bien son Id correspondant, et ds le combo, le nom.
Qd je ferme le fichier (apres l'avoir enregistré) et que je le réouvre, la
cellule liée est tjs ok, mais le combobox m'affiche la valeur de la
cellule

liée, et non le nom associé.
Aurais tu une idée?

Merci de ton aide.

Florent

"MPi" a écrit dans le message de
news:
Salut,

Ça pourrait ressembler à cela
Au lieu de I = 0, tu pourrais mettre I = 1
et avant de faire la boucle, tu inscris les entêtes
Worksheets("Partenaires").cboPartenaire1.AddItem
Worksheets("Partenaires").cboPartenaire1.List(0,0) = "ID"
Worksheets("Partenaires").cboPartenaire1.List(0,1) "Partenaire"


I = 0 ' à modifier selon...
While Not rs.EOF
Worksheets("Partenaires").cboPartenaire1.AddItem
Worksheets("Partenaires").cboPartenaire1.List(I,0) > rs!IdPartenaire
Worksheets("Partenaires").cboPartenaire1.List(I,1) > > rs!omPartenaire
I = I + 1
rs.MoveNext
Wend

Et ne pas oublier de mettre à 2 le nombre de colonnes du Combobox dans
les


propriétés

Michel


Bonsoir à tous,

J'ai une base de données access dans laquelle je souhaite prendre des
infos


contenues dans une table pour les mettre dans une combobox qui se
trouve



sur
un fichier excel.

Ma table est la table TB_Partenaires, dans laquelle je veux récupérer
IdPartenaire et NomPartenaire

Mon combobox dans excel s'appelle cboPartenaire1

Et voila le code qui me permet de remplir ma combo avec NomPartenaire

Set rs = db.OpenRecordset("SELECT IdPartenaire, NomPartenaire FROM
TB_Partenaires ORDER BY NomPartenaire;")
While Not rs.EOF
Worksheets("Partenaires").cboPartenaire1.AddItem rs(1)
rs.MoveNext
Wend

Mais je ne sais pas comment stocker la valeur IdPartenaire ????
Et j'aimerais savoir également comment récupérer cette valeur une fois
qu'un


partenaire sera sélectionné?...

Merci de votre aide à tous

Florent