Lier les choix d'une zone de liste déroulante sur plusieurs onglets

Bonjour,

J'ai un fichier excel sur lequel se trouve une zone de liste déroulante sur chaque onglet (cette zone de liste déroulante est la même sur chacun des onglets). Je souhaiterais que lorsqu'on effectue un choix dans la liste déroulante, ce choix se mette automatiquement à jour dans tous les onglets du classeur.

J'ai réussi à le faire via VBA avec une liste de "Validation des données" qui est liée à une cellule (voir code VBA dans Classeur1), mais je souhaiterais obtenir le même résultat pour un objet de type "Zone de liste déroulante" (contrôle de formulaire) (cf. Liste1 dans mon fichier).

Je précise que je suis vraiment novice en vba...

49classeur1.xlsm (29.63 Ko)

Merci d'avance pour votre aide :)

Bonjour,

Je viens de répondre a un auteur sur un peu le même soucis. Il ne manque qu'une précision. Le changement de liste déroulante se fait il en commençant sur la Feuil1 ? Quelle est la valeur à prendre en compte.

Ce changement doit-il également se répercuter sur l'ensemble des cellules B2 des feuilles ?

Cdlt,

Merci de votre réponse.
Le changement doit pouvoir se faire à partir de n'importe quelle feuille et s'appliquer sur toutes les autres. Par exemple, si je vais sur la feuille 2 et que je choisi "ancienne offre", je souhaiterais que la liste déroulante des feuilles 1 et 3 affiche également "ancienne offre".

Bonjour,

Vous risquez d'avoir une macro avec boucle infinie. En effet si le changement n'est pas localisé sur une feuille alors quand je vais changer la liste 1, la valeur va se mettre dans la liste 2, qui elle même va déclencher une procédure événementielle pour aller rechanger la liste 1 qui va aussi changer la liste 2 etc ... Sans compter la liste 3.

Ca dépasse mon niveau de connaissance du VBA événementiel désolé ..

D'accord, merci d'y avoir réfléchi en tout cas. Je suis preneur du code pour si le changement s'effectue sur la page 1 seulement, si c'est possible :)

Merci!

Bonjour,

Au final j'ai réussi une parade après quelques recherches.

Ci-joint le fichier modifié. Il suffit d'y affecter la macro TEST (ou vous pouvez la renommer) à chaque listbox concernée. Toutes doivent s'appeler Liste1.

Dans l'attente de votre retour éventuel.

Cdlt,

Merci beaucoup !!

C'est exactement ce que je voulais :)

Bonjour,

Merci et passez une bonne journée.

Désolé, j'ai juste un petit problème :/ J'ai retenté l'expérience sur un nouveau classeur avec trois listes déroulantes qui s'appellent "Liste1" et la macro ne marche pas...

Une idée ? Merci d'avance :)

14classeur2.xlsm (30.95 Ko)

Bonjour,

J'ai l'impression que vous n'avez pas lié la macro à vos listbox, me tromperais-je ?

Pour se faire cliquez droit sur votre listbox, affecter une macro et sélectionnez la macro test. Si vous refaites la même manipulation sur la listbox vous verrez alors que nom de la macro contient la macro TEST, preuve qu'elle est bien affectée à votre listbox, qui sert alors de bouton déclencheur de l’exécution du code.

Cdlt,

Rechercher des sujets similaires à "lier choix zone liste deroulante onglets"