"Lier "deux ListBox en VB6

Résolu
cs_Gegeleblond Messages postés 41 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 2 août 2010 - 31 mars 2008 à 21:12
cs_Gegeleblond Messages postés 41 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 2 août 2010 - 31 mars 2008 à 23:42
Bonjour a tous,

Je cherche a "lier deux ListBox". Je m explique. J ai pour l
instant deux listbox avec le meme nombre de valeurs. J aimerais que
lorsque je clique sur une valeur d une des deux listbox, la valeur au
meme indice mais de l autre listbox se selectionne ou tout simplement j
aimerai que lorsque je scrolle une listbox l autre se mette au meme
niveau.
En fait, je suis en train de realiser que ca reviendrait au meme
et ca serait peut etre plus simple de creer une listbox unique a deux
entrees. Est ce possible et si oui comment faire s il vous plait?

Merci d avance pour les personnes qui ont une idee.

(Soyez tres explicites car je suis GRAND DEBUTANT)

9 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
31 mars 2008 à 22:23
Si tu veux que le scroll de l'une corresponde au scroll de l'autre, un truc très simple

Donne le même Topindex aux deux , tout simplement, dans l'évènement scroll de chacune des deux... !
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
31 mars 2008 à 22:50
Et si tu es vraiment sous VB6, tu pourrais utiliser un autre contrôle comme la MsFlexGrid...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
31 mars 2008 à 23:28
Pour ton test avec l'aide de JMF (Salut), TopIndex est une propriété de la listbox, donc
Listbox.TopIndex et non l'inverse

Private Sub List1_Scroll()  ' quand la list1 scroll, c'est la list2 qui doit suivre
List2.TopIndex = List1.TopIndex

et l'inverse avec List2_Scroll

Pour le contrôle MsFlexGrid, va dans la liste des composants supplémentaires (click droit sur la boîte à outils) et coche le contrôle (Microsoft...) pour l'intégrer à la boîte d'outils.

Par la suite, regarde l'aide pour connaître les propriétés et fais des recherches sur le site.  Il doit y avoir pas mal de sources là-dessus...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
31 mars 2008 à 23:35
Text1 = "Numéro: " & List1.List(i)

Le & sert à concaténer différentes valeurs

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
31 mars 2008 à 22:49
Est-ce vraiment VB6 ou VBA (Excel ou autre) ?
Il arrive tellement souvent que les gens soient mélangés que je me dois de poser la question... Sous Excel, tu aurais la possibilité d'avoir une listbox à plusieurs colonnes...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
cs_Gegeleblond Messages postés 41 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 2 août 2010
31 mars 2008 à 23:15
Tour d abord, merci pour votre aide,

- Pour repondre a jmfmarques, j ai tape

 "Private Sub List1_Scroll()

 TopIndex. List1 = Top.Index.List2

 End Sub"

mais ca me donne l erreur suivante: " invalid qualifier" pour Top.

- Pour repondre a  MPi, c est vraiment avec VB6, pas d' Excel... et quand tu me parles de la "MsFlexGrid", peux tu expliciter s il te plait, je suis debutant ne l oublie pas.

(desole pour le manque d accents mais j ecris avec un qwerty)
0
cs_Gegeleblond Messages postés 41 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 2 août 2010
31 mars 2008 à 23:27
Et un autre question qui n a rien avoir,
j ai ecris Text1.Text = List1.List(i) , i etant un indice quelconque' afin de mettre la valeur a l indice i de la liste List1. Ceci fonctionne. Mais si je veux rajouter du texte, dois je mettre des guillemets, des parentheses ou autres autour du texte?
Par exemple:
Text1.Text = "numero" List1.List(i) ou
Text1.Text = (numero) List1.List(i) ou
Text1.Text = "numero List1.List(i)" ou
Text1.Text = (numero List1.List(i))
0
cs_Gegeleblond Messages postés 41 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 2 août 2010
31 mars 2008 à 23:30
Desole faut que j apprenne a relire, j ai ecrit n importe quoi, je la refais

j
ai ecrit Text1.Text = List1.List(i) , i etant un indice quelconque
afin de mettre la valeur de la ListBox List1 qui est a l indice i dans la textBox Text1. Ceci
fonctionne. Mais si je veux rajouter du texte, dois je mettre des
guillemets, des parentheses ou autres autour du texte?
Par exemple:
Text1.Text = "numero" List1.List(i) ou
Text1.Text = (numero) List1.List(i) ou
Text1.Text = "numero List1.List(i)" ou
Text1.Text = (numero List1.List(i))
0
cs_Gegeleblond Messages postés 41 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 2 août 2010
31 mars 2008 à 23:42
MERCI INFINIMENT pour ton aide !!!

Gegeleblond
0
Rejoignez-nous