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

VBA, EXCEL & ListBox

6 réponses
Avatar
Philippe Dhondt
Bonjour



J'ai dans deux colonnes des couples de data :

Colonne A = Nom

Colonne B = ID

Chaque item de A est lié à l'item de B sur la même ligne



Je dois :

1 charger ces data dans une listBox

2 Ne faire apparaître dans celle-ci (si possible) que les data de la colonne
A

3 lorsque l'itilisateur clique sur un element de la liste (un nom) ,
recuperer l'ID correspondant à celui-ci.



Merci





Philippe Dhondt

6 réponses

Avatar
Pounet95
Bonjour,
Tu nommes tes données Plage par exemple,
Tu affectes à la prorpiété ListFillRange de la listbox ce même nom
Tu utilises alors la propriété Listindex de la listbox pour récupérer l'ID

Exemple ici :
http://cjoint.com/?lwq12yRlvC

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Philippe Dhondt" a écrit dans le message de
news: OpGgf.2097$
Bonjour



J'ai dans deux colonnes des couples de data :

Colonne A = Nom

Colonne B = ID

Chaque item de A est lié à l'item de B sur la même ligne



Je dois :

1 charger ces data dans une listBox

2 Ne faire apparaître dans celle-ci (si possible) que les data de la
colonne
A

3 lorsque l'itilisateur clique sur un element de la liste (un nom) ,
recuperer l'ID correspondant à celui-ci.



Merci





Philippe Dhondt




Avatar
Philippe Dhondt
Super, un grand merci, c'est ce que je cherchais.

By the way, est-il possible de faire la même chose avec un tableau à la
place de la liste box
Je sais utiliser les tableaux à une colonne, mais pas au dessus.


@+




"Pounet95" wrote in message
news:
Bonjour,
Tu nommes tes données Plage par exemple,
Tu affectes à la prorpiété ListFillRange de la listbox ce même nom
Tu utilises alors la propriété Listindex de la listbox pour récupérer l'ID

Exemple ici :
http://cjoint.com/?lwq12yRlvC

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Philippe Dhondt" a écrit dans le message de
news: OpGgf.2097$
Bonjour



J'ai dans deux colonnes des couples de data :

Colonne A = Nom

Colonne B = ID

Chaque item de A est lié à l'item de B sur la même ligne



Je dois :

1 charger ces data dans une listBox

2 Ne faire apparaître dans celle-ci (si possible) que les data de la
colonne
A

3 lorsque l'itilisateur clique sur un element de la liste (un nom) ,
recuperer l'ID correspondant à celui-ci.



Merci





Philippe Dhondt







Avatar
Pounet95
Re,
Je ne comprends pas. Est-ce possible de préciser d'avantage ou de joindre un
exemple ?
@+

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Philippe Dhondt" a écrit dans le message de
news: R0Lgf.2212$
Super, un grand merci, c'est ce que je cherchais.

By the way, est-il possible de faire la même chose avec un tableau à la
place de la liste box
Je sais utiliser les tableaux à une colonne, mais pas au dessus.


@+




"Pounet95" wrote in message
news:
Bonjour,
Tu nommes tes données Plage par exemple,
Tu affectes à la prorpiété ListFillRange de la listbox ce même nom
Tu utilises alors la propriété Listindex de la listbox pour récupérer
l'ID

Exemple ici :
http://cjoint.com/?lwq12yRlvC

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Philippe Dhondt" a écrit dans le message de
news: OpGgf.2097$
Bonjour



J'ai dans deux colonnes des couples de data :

Colonne A = Nom

Colonne B = ID

Chaque item de A est lié à l'item de B sur la même ligne



Je dois :

1 charger ces data dans une listBox

2 Ne faire apparaître dans celle-ci (si possible) que les data de la
colonne
A

3 lorsque l'itilisateur clique sur un element de la liste (un nom) ,
recuperer l'ID correspondant à celui-ci.



Merci





Philippe Dhondt











Avatar
Philippe Dhondt
Je ne comprends pas. Est-ce possible de préciser d'avantage ou de joindre
un

exemple ?



J'ai dans deux colonnes des couples de data :

Colonne A = Nom
Colonne B = ID

Chaque item de A est lié à l'item de B sur la même ligne




1 : comment charger ces data dans un tableau (à deux dimensions)
2 : comment recuperer l'ID lorsqu'on connait le Nom


Est-ce un peu plus clair ?

Attention que ces datat sont de types differents (string & long)

Merci

@+



Avatar
Clément Marcotte
http://cjoint.com/?lwxQnkC7vO


"Philippe Dhondt" a écrit dans le message de
news: nMLgf.2250$
Je ne comprends pas. Est-ce possible de préciser d'avantage ou de joindre
un

exemple ?



J'ai dans deux colonnes des couples de data :

Colonne A = Nom
Colonne B = ID

Chaque item de A est lié à l'item de B sur la même ligne




1 : comment charger ces data dans un tableau (à deux dimensions)
2 : comment recuperer l'ID lorsqu'on connait le Nom


Est-ce un peu plus clair ?

Attention que ces datat sont de types differents (string & long)

Merci

@+









Avatar
Philippe Dhondt
Bonjour, et merci,



c'est effectivement ce que je cherchais.

Je savais que les types definis existaient, je ne savais pas à quoi cela
servait, lacune comblée.



L'objectif est ici d'augmenter les performances en passant par une variable
en mémoire.



J'ai une première listbox contenant une liste de portefeuilles boursiers.

L'utilisateur selectionne un portefeuille, et une seconde listbox se remplit
avec les titres contenus dans ce portfeuille.

Les deux listes sont remplies via une requête SQL et des données provenant
de trois tables Access.

Il me semble que recuperer le nom d'un portefeuille, le passait dans une
variable de type defini pour recuperer l'ID du portefeuille correspondant
est plus rapide que de recupere cet ID dans la listbox. Je me trompe ?



Voici votre code quelque peu adapté :



Type tdLaLigne

strLeNom As String * 20

iLeNumero As Integer

End Type



Sub AfficheLesLignes()



Dim iDerniereLigne As Long, i As Long, strLexpression As String,
tdCetteLigne() As tdLaLigne

Dim strEntree As String

Dim strNomRecherche As String

Dim iNumeroRecherche As Integer



iDerniereLigne = Range("a65536").End(xlUp).Row



ReDim tdCetteLigne(iDerniereLigne) As tdLaLigne



For i = 1 To iDerniereLigne

tdCetteLigne(i).strLeNom = Cells(i, 1).Value

tdCetteLigne(i).iLeNumero = Cells(i, 2).Value

Next



strEntree = InputBox("Entrez un Nom")



For i = 1 To iDerniereLigne

strNomRecherche = tdCetteLigne(i).strLeNom

If strNomRecherche = strEntree Then

iNumeroRecherche = tdCetteLigne(i).iLeNumero

End If

Next i



MsgBox (iNumeroRecherche)



End Sub





Le problème actuel se situe dans la comparaison des strings,

Je n'arrive pas à recuperer l'ID.



Auriez-vous une idée





Merci.





"Clément Marcotte" wrote in message
news:%
http://cjoint.com/?lwxQnkC7vO