IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Sélection multiple dans une listbox1 et suppression de la sélection


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2021
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Sélection multiple dans une listbox1 et suppression de la sélection
    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

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Mya98 Voir le message
    Bonjour,

    Un exemple ici : Liste à liste

    Une fois chargée la sélection avec le bouton Filtrer dans le Userform, regardez le comportement des boutons > et <.

Discussions similaires

  1. Sélection multiple dans une zone de liste
    Par mawi dans le forum VBA Access
    Réponses: 5
    Dernier message: 25/09/2007, 19h00
  2. [Forms 9i] Sélection multiple dans une liste
    Par Magnus dans le forum Forms
    Réponses: 13
    Dernier message: 17/01/2007, 13h26
  3. Réponses: 2
    Dernier message: 24/08/2006, 12h33
  4. Sélection Multiple dans une JTable
    Par bobic dans le forum Composants
    Réponses: 3
    Dernier message: 07/08/2006, 18h35
  5. [Débutant] Sélection multiples dans une Listbox
    Par eraim dans le forum Access
    Réponses: 4
    Dernier message: 15/10/2005, 04h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo