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
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la 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 facilite grandement 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 pour vous chaque jour !