Bonjour,

Je suis nouvelle, et recherche juste de l'aide. Je suis en train de construire un petit "logiciel" de gestion de stock, mais j'ai un niveau de débutante et ne comprend pas tout.
Je viens aujourd'hui avec une question précise, mais serait ravie d'échanger avec des personnes prêtent à aider sur le projet global.

J'ai créé un formulaire pour ajouter des articles en stock en partant d'une base de donnée. Dans mon formulaire j'ai mis 2 listbox: ListBox1 affiche ma base article et y permet une sélection multiple; ListBox2 doit récupérer les articles sélectionnés en ListBox1.
J'ai 2 bouton: B_Prend2 qui prend les articles sélectionnés en ListBox1 pour les mettre en ListBox2 et en les supprimant de la ListBox1 et B_Enlève qui remet dans la ListBox1 les articles sélectionnés en ListBox2 (par exemple si on a fait une erreur dans la sélection des articles).
J'ai trouvé des codes intéressants sur le site http://boisgontierjacques.free.fr/. Mais ça ne semble pas fonctionner.

Pour L'instant, je peux sélectionner plusieurs articles de la ListBox1 et les passer en ListBox2. Par contre les articles sélectionnés ne se suppriment pas le la ListBox1 et se copient en ListBox2 autant de fois que j'appuie sur le bouton (Il faudrait qu'il n'apparaissent qu'une seule fois). De plus quand je sélectionne un article en ListBox2 pour le remettre en ListBox1 et le supprimer de la ListBox2, aucune de ces deux actions ne fonctionnent.

J'ai ce code la, pouvez vous m'aider à trouver ce qui ne va pas?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Private Sub B_Prend2_Click()
    ' bouton qui permet de coller les articles sélectionner en ListBox1 dans la ListBox2 (Attention doublon)
    
    If UserForm2.ListBox1.ListIndex <> -1 And UserForm2.ListBox1.ListCount > 0 Then
        For i = 0 To UserForm2.ListBox1.ListCount - 1
            If UserForm2.ListBox1.Selected(i) = True Then
                'UserForm2.TextBox1.Text = i
                UserForm2.ListBox2.AddItem UserForm2.ListBox1.List(i)
                 'UserForm2.ListBox2.AddItem i
                pos = Me.ListBox2.ListCount - 1
                For k = 0 To 10
                    Me.ListBox2.List(pos, k) = Me.ListBox1.List(i, k)
                Next k
            End If
        Next i
        For i = UserForm2.ListBox1.ListCount - 1 To 0 Step -1
            If UserForm2.ListBox1.Selected(i) = True Then
        UserForm2.ListBox1.RemoveItem i
                UserForm2.ListBox1.RemoveItem UserForm2.ListBox1.Selected(i)
                UserForm2.ListBox1.RemoveItem UserForm2.ListBox1.ListIndex
            End If
        Next i
             UserForm2.TextBoxNBArticles = UserForm2.ListBox2.ListCount - 1
    End If
End Sub

Private Sub B_Enlève_Click()
    'Bouton qui retire les articles sélectionner en Listbox2
    
    If UserForm2.ListBox2.ListCount > 0 And UserForm2.ListBox2.ListIndex <> -1 Then
        UserForm2.ListBox1.AddItem UserForm2.ListBox2
        pos = UserForm2.ListBox1.ListCount - 1
        For k = 0 To 10
            UserForm2.ListBox1.List(pos, k) = UserForm2.ListBox2.Column(k)
        Next k
        UserForm2.ListBox2.RemoveItem UserForm2.ListBox2.ListIndex
    End If
   
End Sub
J'ai un problème avec le RemoveItem. J'ai essayé plusieurs formulations, avec ou sans (), mais rien ne fonctionne. C'est la seule partie du code qui semble ne pas fonctionner.

Merci d'avance