Comment synchroniser des listes déroulantes dans plusieurs feuilles de calcul dans Excel ?
Supposons que vous ayez des listes déroulantes sur plusieurs feuilles de calcul dans un classeur contenant exactement les mêmes éléments. Maintenant, vous souhaitez synchroniser les listes déroulantes entre les feuilles de calcul afin que, dès que vous sélectionnez un élément dans une liste déroulante d'une feuille, les autres listes déroulantes des autres feuilles soient automatiquement synchronisées avec la même sélection. Cet article fournit un code VBA pour vous aider à résoudre ce problème.
Synchroniser des listes déroulantes dans plusieurs feuilles de calcul avec du code VBA
Synchroniser des listes déroulantes dans plusieurs feuilles de calcul avec du code VBA
Par exemple, les listes déroulantes sont réparties sur cinq feuilles de calcul nommées Feuille1, Feuille2, ..., Feuille5. Pour synchroniser les listes déroulantes des autres feuilles en fonction de la sélection dans Feuille1, appliquez le code VBA suivant.
1. Ouvrez Feuille1, faites un clic droit sur l'onglet de la feuille et sélectionnez Affichage Code dans le menu contextuel.
2. Dans la fenêtre Microsoft Visual Basic for Applications, collez le code VBA suivant dans la fenêtre Feuille1 (Code).
Code VBA : Synchroniser une liste déroulante dans plusieurs feuilles de calcul
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220815
Dim tSheet1 As Worksheet
Dim tRange As Range
Dim xRangeStr As String
On Error Resume Next
If Target.Count > 1 Then Exit Sub
xRangeStr = "A2:A11"
Set tRange = Intersect(Target, Range(xRangeStr))
If Not tRange Is Nothing Then
xRangeStr = tRange.Address
Application.EnableEvents = False
Set tSheet1 = ActiveWorkbook.Worksheets("Sheet2")
tSheet1.Range(xRangeStr).Value = Target.Value
Set tSheet1 = ActiveWorkbook.Worksheets("Sheet3")
tSheet1.Range(xRangeStr).Value = Target.Value
Set tSheet1 = ActiveWorkbook.Worksheets("Sheet4")
tSheet1.Range(xRangeStr).Value = Target.Value
Set tSheet1 = ActiveWorkbook.Worksheets("Sheet5")
tSheet1.Range(xRangeStr).Value = Target.Value
Application.EnableEvents = True
End If
End Sub
Remarques :
3. Appuyez sur les touches Alt + Q pour fermer la fenêtre Microsoft Visual Basic for Applications.
Dès maintenant, lorsque vous sélectionnez un élément dans la liste déroulante de Feuille1, les listes déroulantes des feuilles spécifiées seront automatiquement synchronisées avec la même sélection. Consultez la démonstration ci-dessous.
Démo : Synchroniser des listes déroulantes dans plusieurs feuilles de calcul dans Excel
Meilleurs outils de productivité pour Office
Améliorez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité incomparable. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte l’interface par onglets à Office, simplifiant considérablement votre travail.
- Activez la modification 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é de50 % et réduit des centaines de clics de souris chaque jour !
Tous les modules complémentaires Kutools. Une seule installation
La suite Kutools for Office regroupe les modules complémentaires pour Excel, Word, Outlook & PowerPoint ainsi qu’Office Tab Pro, idéal pour les équipes travaillant sur plusieurs applications Office.





- Suite tout-en-un — modules complémentaires Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un installateur, une licence — installation en quelques minutes (compatible MSI)
- Une synergie optimale — productivité accélérée sur l’ensemble des applications Office
- Essai complet30 jours — sans inscription, ni carte bancaire
- Meilleure valeur — économisez par rapport à l’achat d’add-ins individuels