XL 2016 ComboBox lié entre eux

Troudz

XLDnaute Occasionnel
Bonjour,

Je dispose de 4 combobox sur 4 feuilles différentes. Ces contrôles ont exactement la même liste d'entrées possibles.
Je souhaiterai que lorsque l'utilisateur modifie l'un d'eux, les trois autres prennent la même valeur.
J'ai bien essayé de passer par l'évènement change mais un fois que l'on fait une modification, mes mcros tournent en rond puisqu'elles modifient tous les combobox.

Sauriez vous comment faire ?

Je vous remercie par avance
 

job75

XLDnaute Barbatruc
Bonjour Troudz,

Code à placer dans chaque feuille :
Code:
Private Sub Combobox1_Change()
Dim e
For Each e In Array("Feuil1", "Feuil2", "Feuil3", "Feuil4") 'noms des feuilles, à adapter
If Sheets(e).ComboBox1 <> ComboBox1 Then Sheets(e).ComboBox1 = ComboBox1
Next
End Sub
Les ComboBox doivent avoir le même nom.

A+
 

job75

XLDnaute Barbatruc
Re,

Cela dit chez moi le test n'est pas nécessaire :
Code:
Private Sub Combobox1_Change()
Dim e
For Each e In Array("Feuil1", "Feuil2", "Feuil3", "Feuil4") 'noms des feuilles
Sheets(e).ComboBox1 = ComboBox1
Next
End Sub
A+
 

job75

XLDnaute Barbatruc
Bonjour Troudz,

S'il y a beaucoup de ComboBox on peut utiliser un module de classe.

Voyez le fichier joint et les codes dans ThisWorkbook, Module1, Classe1.

La variable flag permet d'éviter des relances multiples de la macro.

A+
 

Pièces jointes

  • ComboBox liées(1).xlsm
    46.1 KB · Affichages: 40

Discussions similaires

Statistiques des forums

Discussions
312 248
Messages
2 086 593
Membres
103 248
dernier inscrit
Happycat