Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment déplacer rapidement des éléments entre deux zones de liste dans Excel?

Avez-vous déjà essayé de déplacer les éléments d'une zone de liste vers une autre zone de liste comme vous le souhaitez, comme illustré ci-dessous? Ici, je vais parler de cette opération dans Excel.

doc déplacer des éléments entre la zone de liste 1 doc arrow droite doc déplacer des éléments entre la zone de liste 2

Déplacer des éléments entre des zones de liste


Déplacer des éléments entre des zones de liste


Il n'y a pas de fonction intégrée peut vous aider à terminer le travail, mais j'ai un code VBA peut faire une faveur.

1. Tout d'abord, vous devez créer une liste de données qui seront affichées comme les éléments dans les zones de liste dans une nouvelle feuille qui a appelé Admin_Lists.
doc déplacer des éléments entre la zone de liste 3

2. Ensuite, sélectionnez ces données et allez à la Nom boîte pour leur donner un nom Liste des articles. Voir la capture d'écran:
doc déplacer des éléments entre la zone de liste 4

3. Ensuite, dans une feuille qui contiendra les deux zones de liste, cliquez sur Développeur > insérer > Zone de liste (Active X Control)et dessinez deux zones de liste. Voir la capture d'écran:

doc déplacer des éléments entre la zone de liste 5 doc arrow droite doc déplacer des éléments entre la zone de liste 6

Si la Développeur onglet est caché votre ruban, Comment afficher / afficher l'onglet développeur dans Excel 2007 / 2010 / 2013 Ribbon? Cet article vous dira comment le montrer.

4. Puis clique Développeur > insérer > Bouton de commande (Active X Control)et dessinez quatre boutons entre deux zones de liste. Voir la capture d'écran:

doc déplacer des éléments entre la zone de liste 7 doc arrow droite doc déplacer des éléments entre la zone de liste 8

Maintenant, renommer les quatre boutons de commande avec de nouveaux noms.

5. Sélectionnez le premier bouton de commande, cliquez sur Propriétéset dans le Propriétés volet, donnez un nom BTN_moveAllRight à lui, et tapez >> dans la zone de texte à côté Légende. Voir la capture d'écran:
doc déplacer des éléments entre la zone de liste 9

6. Répétez l'étape 5 pour renommer les trois derniers boutons de commande avec les noms ci-dessous, et tapez également la flèche différente dans les légendes. Voir la capture d'écran:

BTN_MoveSelectedRight

BTN_moveAllLeft

BTN_MoveSelectedLeft

doc déplacer des éléments entre la zone de liste 10 doc déplacer des éléments entre la zone de liste 11 doc déplacer des éléments entre la zone de liste 12

7. Faites un clic droit sur le nom de la feuille qui contient les zones de liste et les boutons de commande, puis sélectionnez Voir le code dans le menu contextuel. Voir la capture d'écran:
doc déplacer des éléments entre la zone de liste 13

8. Copiez et collez ci-dessous le code de la macro à Module script, puis enregistrez le code et fermez le Microsoft Visual Basic pour applications fenêtre. Voir capture d'écran

VBA: déplacer des éléments entre deux zones de liste

Private Sub Worksheet_Activate()
'UpdatebyExtendoffice20171117
    Dim xCell As Range
    Dim xRg As Range
    Set xRg = Sheets("Admin_Lists").Range("ItemList")
    Me.ListBox1.Clear
    Me.ListBox2.Clear
    With Me.ListBox1
        .LinkedCell = ""
        .ListFillRange = ""
        For Each xCell In xRg
            If xCell <> "" Then
                .AddItem xCell.Value
            End If
        Next xCell
    End With
    Me.ListBox1.MultiSelect = fmMultiSelectMulti
    Me.ListBox2.MultiSelect = fmMultiSelectMulti
End Sub

Private Sub BTN_MoveSelectedLeft_Click()
    Call moveSigle(Me.ListBox2, Me.ListBox1)
End Sub

Private Sub BTN_MoveSelectedRight_Click()
    Call moveSigle(Me.ListBox1, Me.ListBox2)
End Sub

Private Sub BTN_moveAllLeft_Click()
    Call moveAll(Me.ListBox2, Me.ListBox1)
End Sub

Private Sub BTN_moveAllRight_Click()
    Call moveAll(Me.ListBox1, Me.ListBox2)
End Sub

Sub moveAll(xListBox1 As Object, xListBox2 As Object)
    Dim I As Long
    For I = 0 To xListBox1.ListCount - 1
        xListBox2.AddItem xListBox1.List(I)
    Next I
    xListBox1.Clear
End Sub

Sub moveSigle(xListBox1 As Object, xListBox2 As Object)
    Dim I As Long
    For I = 0 To xListBox1.ListCount - 1
        If I = xListBox1.ListCount Then Exit Sub
        If xListBox1.Selected(I) = True Then
            xListBox2.AddItem xListBox1.List(I)
            xListBox1.RemoveItem I
            I = I - 1
        End If
    Next
End Sub

doc déplacer des éléments entre la zone de liste 14

9. Ensuite, allez à une autre feuille, puis revenez à la feuille contient les zones de liste, maintenant vous pouvez voir la liste des données a été la liste dans la première zone de liste. Et cliquez sur les boutons de commande pour déplacer les éléments entre deux zones de liste.
doc déplacer des éléments entre la zone de liste 15

Déplacer la sélection

doc déplacer des éléments entre la zone de liste 16 doc arrow droite doc déplacer des éléments entre la zone de liste 17

Déplacer tout

doc déplacer des éléments entre la zone de liste 18 doc arrow droite doc déplacer des éléments entre la zone de liste 19


Outils de productivité recommandés

Office Tab

étoile d&#39;or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d&#39;or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d&#39;or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d&#39;écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Pius · 5 months ago
    My excel becomes unresponsive after running this code. what could be the problem?