ListBox2.Selected = ListBox1.Selected

cs_Jawad Messages postés 13 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 30 juin 2002 - 5 mai 2002 à 06:01
Archeolabo Messages postés 8 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 28 novembre 2008 - 11 nov. 2008 à 20:50
Comment faire coordonner 2 listbox ?
J'explique : J'ai une listbox nommé list1 sur une feuille form et une autre nommée list2 sur une feuille form2. Donc ce que je veux c que à l'ouverture de form2, la liste list2 prenne la même valeur que form1. Voilà ce que je fait mais ca marche une fois, et à la deuxiéme il y'a une erreur :
Private Sub Form_Load() {
   List2.Selected(List1.ListIndex) = True
}


Voilà mais là il retourne une erreur !!! Aidez moi plzz, c tout con mais trés chiant !!

5 réponses

cs_jym Messages postés 115 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 15 avril 2014
5 mai 2002 à 09:38
bjr,

2 choses : pour donner en référence un objet d'une autre feuille il faut faire précéder le code du nom de la feuille d'origine. si ton code est dans form2.load tu dois écrire :

form1!list1.text (par exemple)

dans ton cas je pense que la commande

(dans form2)
list2.listindex = fomr1!list1.listindex
convient mieux.

et/ou list2.text=list2.text(fomr1!list1.listindex)

bon code

jym
0
cs_Jawad Messages postés 13 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 30 juin 2002
5 mai 2002 à 18:47
BEEEEEEEEEEEEUUUUUUUUUUHHHHHHHH
CA MARCHE PAS :(
Le premier il me retourne une erreur lors du deuxiéme chargement de Form2 (et ne sélectionne rien du tout au premier) et le deuxiéme marche pas du tout !! :(
0
cs_jym Messages postés 115 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 15 avril 2014
5 mai 2002 à 19:16
Bjr,

après essais je te confirme ce code qui marche avec 1 projet de 2 feuilles (form1 et form2) elles ont
chacune une liste remplie (propriété list remplie à la main avec ligne 1 ..ligne6).

elles ont chacune un bouton de commande pour passer de l'une à l'autre.

il me vient à l'esprit que dans ta manip les 2 feuilles n'étaient peut être pas
sur le plan de travail. en effet avec ce code elles doivent être actives toutes les deux.

voilà c'est tout. dans ce code ça marche pour positionner la lite de la form2 en focntion de ce qui est coché dans
la liste de la form1. quitte à toi à remettre le même code pour replacer la liste de la form2 après modification et tretour vers
le form1.

bon code

jym

'code de la form1
Option Explicit

'code du bouton de commande sur la form1 qui permet de passer vers la form2
Private Sub Command1_Click()
Form1.Visible = False
Form2.Visible = True

End Sub

'code de démarrage qui permet de charger les 2 feuilles au démarrage du projet

Private Sub Form_Load()
Load Form2

End Sub

'code de la form2

Option Explicit

'bouton de commande sur la form2
Private Sub Command1_Click()
Form1.Visible = True
Form2.Visible = False

End Sub

'code de démarrage de la form2 (au changement d'écran)
Private Sub Form_Activate()
list2.ListIndex = Form1!List1.ListIndex
Label1.Caption = Form1!List1.Text

End Sub
0
Archeolabo Messages postés 8 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 28 novembre 2008
11 nov. 2008 à 20:50
Bon mon idée la plus simple :
1 form principal nommé "Form1" contenant une listBox nommée "List1" et un CommandButton nommé "Command1"
1 autre form  nommé "Form2" contenant une listBox nommée "List1" et un CommandButton nommé "Command1"

(on décide de changer de feuille en cliquant sur les commanbuttons)

code dans form1 :
Private Sub Form_Load()
Dim ind As Integer

    With Me.List1
        For ind = 1 To 5
            .AddItem ("item " & CStr(ind)) 'pour avoir kekchose à voir ...
        Next ind
    End With
End Sub

Private Sub Command1_Click()
    Me.Hide
    Form2.Show
End Sub

code dans form2 :
Private Sub Form_Load()
    Dim ind As Integer
    With Me.List1
        .Clear
        For ind = 0 To Form1.List1.ListCount - 1
            .AddItem Form1.List1.List(ind)
            .Selected(ind) = Form1.List1.Selected(ind)
        Next ind
    End With
End Sub

Private Sub Command1_Click()
    Dim ind As Integer
    With Form1.List1
        .Clear
        For ind = 0 To Me.List1.ListCount - 1
            .AddItem Me.List1.List(ind)
            .Selected(ind) = Me.List1.Selected(ind)
        Next ind
    End With
    Form1.Show
    Unload Me
End Sub

ça marche chez moi. On pourrait même changer les items de list1 dans form2, quand on revient dans form1 c'est mis à jour

Essaie et dis-nous ski spasse !
0

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

Posez votre question
Archeolabo Messages postés 8 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 28 novembre 2008
11 nov. 2008 à 20:50
Bon mon idée la plus simple :
1 form principal nommé "Form1" contenant une listBox nommée "List1" et un CommandButton nommé "Command1"
1 autre form  nommé "Form2" contenant une listBox nommée "List1" et un CommandButton nommé "Command1"

(on décide de changer de feuille en cliquant sur les commanbuttons)

code dans form1 :
Private Sub Form_Load()
Dim ind As Integer

    With Me.List1
        For ind = 1 To 5
            .AddItem ("item " & CStr(ind)) 'pour avoir kekchose à voir ...
        Next ind
    End With
End Sub

Private Sub Command1_Click()
    Me.Hide
    Form2.Show
End Sub

code dans form2 :
Private Sub Form_Load()
    Dim ind As Integer
    With Me.List1
        .Clear
        For ind = 0 To Form1.List1.ListCount - 1
            .AddItem Form1.List1.List(ind)
            .Selected(ind) = Form1.List1.Selected(ind)
        Next ind
    End With
End Sub

Private Sub Command1_Click()
    Dim ind As Integer
    With Form1.List1
        .Clear
        For ind = 0 To Me.List1.ListCount - 1
            .AddItem Me.List1.List(ind)
            .Selected(ind) = Me.List1.Selected(ind)
        Next ind
    End With
    Form1.Show
    Unload Me
End Sub

ça marche chez moi. On pourrait même changer les items de list1 dans form2, quand on revient dans form1 c'est mis à jour

Essaie et dis-nous ski spasse !
0
Rejoignez-nous