Comment déplacer rapidement des éléments d’une zone de liste à une autre dans Excel ?
Avez-vous déjà essayé de déplacer des éléments d’une zone de liste vers une autre, comme le montre la capture d’écran ci-dessous ? Découvrez dès maintenant comment réaliser cette opération dans Excel.
![]() | ![]() | ![]() |
Déplacer des éléments entre des zones de liste
Déplacer des éléments entre des zones de liste
Aucune fonction intégrée ne permet d’accomplir cette tâche, mais je dispose d’un code VBA qui peut vous être utile.
1. Commencez par créer une liste de données qui servira d’éléments aux zones de liste, dans une nouvelle feuille nommée Admin_Lists.

2. Sélectionnez ensuite ces données, puis accédez à la zone Nom ItemList pour leur attribuer un nom. Voir la capture d’écran :

3. Ensuite, dans la feuille qui contiendra les deux zones de liste, cliquez sur Développeur > Insérer > Zone de liste (contrôle ActiveX), puis dessinez deux zones de liste. Voir la capture d’écran :
![]() | ![]() | ![]() |
Si l’onglet Développeur est masqué dans votre ruban, Comment afficher/masquer l’onglet Développeur dans Excel 2007/2010/2013 Ruban ? cet article vous expliquera comment l’afficher.
4. Cliquez ensuite sur Développeur > Insérer > Bouton de commande (contrôle ActiveX), puis dessinez quatre boutons entre les deux zones de liste. Voir la capture d’écran :
![]() | ![]() | ![]() |
Renommez dès maintenant les quatre boutons de commande à l’aide de la fonction « Nouveau nom ».
5. Sélectionnez le premier bouton de commande, cliquez sur Propriétés, puis, dans le volet Propriétés BTN_moveAllRight, attribuez-lui le nom suivant et saisissez >> dans la zone de texte située à côté de Légende. Voir la capture d’écran :

6. Répétez l’étape 5 pour renommer les trois derniers boutons de commande selon les noms indiqués ci-dessous, en ajoutant également les flèches correspondantes dans leurs légendes. Voir la capture d’écran :
BTN_MoveSelectedRight
BTN_moveAllLeft
BTN_MoveSelectedLeft
![]() | ![]() | ![]() |
7. Cliquez avec le bouton droit sur le nom de la feuille contenant les zones de liste et les boutons de commande, puis sélectionnez Afficher le code dans le menu contextuel. Voir la capture d’écran :

8. Copiez et collez le code macro ci-dessous dans le Module script, enregistrez-le, puis fermez la fenêtre Microsoft Visual Basic pour Applications. Voir la 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 
9. Accédez ensuite à une autre feuille, puis revenez à celle qui contient les zones de liste : vous verrez alors les données s’afficher automatiquement dans la première zone. Cliquez sur les boutons de commande pour déplacer facilement les éléments d’une zone à l’autre.

Déplacer la sélection
![]() | ![]() | ![]() |
Tout déplacer
![]() | ![]() | ![]() |
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels













