"Lier "deux ListBox en VB6

Résolu
Signaler
Messages postés
41
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
2 août 2010
-
Messages postés
41
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
2 août 2010
-
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

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
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... !
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
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
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
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
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
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
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
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
Messages postés
41
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
2 août 2010

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)
Messages postés
41
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
2 août 2010

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))
Messages postés
41
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
2 août 2010

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))
Messages postés
41
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
2 août 2010

MERCI INFINIMENT pour ton aide !!!

Gegeleblond