Piloter 12 listBox avec un seul scroll

lebug06 Messages postés 2 Date d'inscription jeudi 13 mai 2010 Statut Membre Dernière intervention 14 mai 2010 - 13 mai 2010 à 20:59
lebug06 Messages postés 2 Date d'inscription jeudi 13 mai 2010 Statut Membre Dernière intervention 14 mai 2010 - 14 mai 2010 à 20:50
Bonjour à tous,

Dans un userForm j'ai 2 listBox multicolonnes
Dans la 1ere j'affiche l'intitulé de mes colonnes et dans la seconde les données correspondantes.

Comme le nombre de colonne ne me permet de toutes les afficher dans la listBox j'ai un scroll horizontal (dans les intitulés et dans les données).
J'aimerais lorque je me sers du scroll horizontal pour faire défiler mes colonnes dans ma listBox de données la listBox des intitulés se déplace à l'identique.

Quelqu'un peut-il m'aider ?
Merci d'avance.

5 réponses

cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
14 mai 2010 à 09:07
Bonjour,

Je ne crois pas que cela soit possible.
Pourquoi ne pas utiliser une listview à la place ?

@+LIM
0
lediablo Messages postés 214 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 2 août 2012
14 mai 2010 à 12:17
bonjour
je crois que c'est possible avec sendmessage
quand tu fait un clic sur ta listbox tu peut utiliser sendmessage pour faire la même sélection dans l'autre liste en défilant la scrollbar
ou bien dans un timer avec interval 100 tu récupère la position du scrol dans la 1ere liste et tu l'assigne à l'autre scrol de l'autre liste.


Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
0
lediablo Messages postés 214 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 2 août 2012
14 mai 2010 à 12:19
exemple de sendmessage en vb6 (à toi de changer list1 par ta listbox et text1 par ton textbox :

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Const LB_FINDSTRING = &H18F
Private Sub Form_Load()
    With List1
        .AddItem "Computer"
        .AddItem "Screen"
        .AddItem "Modem"
        .AddItem "Printer"
        .AddItem "Scanner"
        .AddItem "Sound Blaster"
        .AddItem "Keyboard"
        .AddItem "CD-Rom"
        .AddItem "Mouse"
    End With
End Sub
Private Sub Text1_Change()
    List1.ListIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal CStr(Text1.Text))
End Sub



Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
14 mai 2010 à 13:47
12 Listbox....

le listview ou le datagrid sont la pour ca !


si tu persiste, voir propriété TopIndex

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0

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

Posez votre question
lebug06 Messages postés 2 Date d'inscription jeudi 13 mai 2010 Statut Membre Dernière intervention 14 mai 2010
14 mai 2010 à 20:50
Merci pour toutes ces infos.
Je vais essayer de m'en sortir.
Sur le scroll vertical je vois à peu prés c'est le scroll horizontal qui me pose problème.
Je vais aussi voir le "datagrid" que je ne connais pas.
Merci encore
0
Rejoignez-nous