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

Listbox dans formulaire

2 réponses
Avatar
paql
Bonjour à tous,

Je commence à utiliser les listbox dans excel et vba. Après avoir inséré des
valeurs dans un listbox multiselect ListB1, je souhaite transférer les items
sélectionnés dans un second listbox ListB2 puis supprimer de ListB1 les items
transférés.

Le transfert des ListB1 vers ListB2 s'effectue comme souhaité mais la
suppression des items sélectionnés ne respecte pas les sélections
effectuées... il semble que seul le premier item supprimé respecte les
sélections.

Vous trouverez ci-dessous mon code:

________

Private Sub CommandButton199_Click()

ii = ListB1.ListCount
i = 0
'Transférer les items sélectionnés de ListB1 vers ListB2
For i = 0 To ii - 1
If ListB1.Selected(i) = True Then
ListB2.AddItem ListB1.List(i)
End If
Next i

'Supprimer les items transférés de ListB1 vers ListB2

For i = ii - iii To 0 Step -1
If ListB1.Selected(i) = True Then
ListB1.RemoveItem ListB1.ListIndex
End If
Next i

End Sub

________

Quelqu'un peut-il m'expliquer où je me trompe?

Merci infiniment.

paql

2 réponses

Avatar
JB
Bonjour,

Private Sub UserForm_Initialize()
Me.Source.AddItem "aaa"
Me.Source.AddItem "bbb"
Me.Source.AddItem "ccc"
Me.Source.AddItem "ddd"
Me.Source.AddItem "eee"
Me.Source.AddItem "fff"
Me.Source.AddItem "ggg"
Me.Source.AddItem "hhh"
Me.Source.MultiSelect = fmMultiSelectMulti
End Sub

Private Sub b_prend_Click()
For i = 0 To Me.Source.ListCount - 1
If Me.Source.Selected(i) = True Then Me.Dest.AddItem Me.Source.List
(i)
Next i
For i = Me.Source.ListCount - 1 To 0 Step -1
If Me.Source.Selected(i) = True Then Me.Source.RemoveItem i
Next i
End Sub

JB
http://boisgontierjacques.free.fr/



On 25 nov, 03:55, paql wrote:
Bonjour à tous,

Je commence à utiliser les listbox dans excel et vba. Après avoir ins éré des
valeurs dans un listbox multiselect ListB1, je souhaite transférer les items
sélectionnés dans un second listbox ListB2 puis supprimer de ListB1 l es items
transférés.

Le transfert des ListB1 vers ListB2 s'effectue comme souhaité mais la
suppression des items sélectionnés ne respecte pas les sélections
effectuées... il semble que seul le premier item supprimé respecte le s
sélections.

 Vous trouverez ci-dessous mon code:

________

Private Sub CommandButton199_Click()

    ii = ListB1.ListCount
    i = 0
        'Transférer les items sélectionnés de ListB1 vers L istB2
        For i = 0 To ii - 1
            If ListB1.Selected(i) = True Then
                ListB2.AddItem ListB1.List(i)
            End If
        Next i

        'Supprimer les items transférés de ListB1 vers ListB2

        For i = ii - iii To 0 Step -1
            If ListB1.Selected(i) = True Then
                ListB1.RemoveItem ListB1.ListIndex
            End If
        Next i

End Sub

________

Quelqu'un peut-il m'expliquer où je me trompe?

Merci infiniment.

paql


Avatar
paql
Super. Mon problème est réglé.
Votre site est aussi très intéressant pour moi.
paq

"JB" a écrit :

Bonjour,

Private Sub UserForm_Initialize()
Me.Source.AddItem "aaa"
Me.Source.AddItem "bbb"
Me.Source.AddItem "ccc"
Me.Source.AddItem "ddd"
Me.Source.AddItem "eee"
Me.Source.AddItem "fff"
Me.Source.AddItem "ggg"
Me.Source.AddItem "hhh"
Me.Source.MultiSelect = fmMultiSelectMulti
End Sub

Private Sub b_prend_Click()
For i = 0 To Me.Source.ListCount - 1
If Me.Source.Selected(i) = True Then Me.Dest.AddItem Me.Source.List
(i)
Next i
For i = Me.Source.ListCount - 1 To 0 Step -1
If Me.Source.Selected(i) = True Then Me.Source.RemoveItem i
Next i
End Sub

JB
http://boisgontierjacques.free.fr/



On 25 nov, 03:55, paql wrote:
> Bonjour à tous,
>
> Je commence à utiliser les listbox dans excel et vba. Après avoir inséré des
> valeurs dans un listbox multiselect ListB1, je souhaite transférer les items
> sélectionnés dans un second listbox ListB2 puis supprimer de ListB1 les items
> transférés.
>
> Le transfert des ListB1 vers ListB2 s'effectue comme souhaité mais la
> suppression des items sélectionnés ne respecte pas les sélections
> effectuées... il semble que seul le premier item supprimé respecte les
> sélections.
>
> Vous trouverez ci-dessous mon code:
>
> ________
>
> Private Sub CommandButton199_Click()
>
> ii = ListB1.ListCount
> i = 0
> 'Transférer les items sélectionnés de ListB1 vers ListB2
> For i = 0 To ii - 1
> If ListB1.Selected(i) = True Then
> ListB2.AddItem ListB1.List(i)
> End If
> Next i
>
> 'Supprimer les items transférés de ListB1 vers ListB2
>
> For i = ii - iii To 0 Step -1
> If ListB1.Selected(i) = True Then
> ListB1.RemoveItem ListB1.ListIndex
> End If
> Next i
>
> End Sub
>
> ________
>
> Quelqu'un peut-il m'expliquer où je me trompe?
>
> Merci infiniment.
>
> paql