Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

zone déroulante VBA help

  • Initiateur de la discussion Initiateur de la discussion jeromestas
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jeromestas

Guest
Bonjour

j'aurais besoin de vos lumières !!!!!


voilà je vais être bref et explicit je l'espère 🙂

j'ai une liste d'élément sur un classeur A

ex :
( classeur A)
A B
1 livre Blanc
2 pomme jaune
3 poire verte
4 cerise rouge
5 caramel bruin


dans une autre classeur ( B) je désire créer une liste déroulante appelant
les éléments de la colonne A dans la cellule A1. jusque là je pense que cela ne devrait pas poser de problème.

Ensuite je désire lorsque je sélectionne un élément de la liste déroulante (classeur B cellule A1)que je puisse afficher aussi dans mon classeur B cellule B1 l'élément correspond de la même ligne du classeur A

soit : si je sélectionne poire que Verte s'inscrive dans le classeur B dans la cellule B1.

Je débute et recherche le code vba d'une tel apllication.

Voilà en vous remerciant d'avance
 
Re : zone déroulante VBA help

Bonsoir Jérome,

A priori, pas besoin de code VBA. Par ailleurs vous parlez bien de 2 classeurs, et non pas de 2 feuilles d'un même classeur.

1) Dans le classeur B définir (menu Insertion-Nom) le nom "plage" en faisant référence (exemple) à la plage A1:A5 de la Feuil1 du classeur A. La formule est du type =[A.xls]Feuil1!$A$1:$A$5

2) Dans le classeur B créer une zone de liste déroulante avec la barre de menu Formulaires. Clic droit sur cet objet et Format de contrôle :
- Plage d'entrée : écrire : plage
- Cellule liée : C1 (la colonne C sera de préférence masquée)
- Nombre de lignes : 5 (sur l'exemple).

3) Dans le classeur B entrer les formules :

=DECALER(plage;C1-1;0;1) en A1
=DECALER(plage;C1-1;1;1) en B1

A+

Edit : une précision : on ne peut pas créer la liste déroulante par Données-Validation, car la liste est dans un classeur différent.
 
Dernière édition:
Re : zone déroulante VBA help

Re,

Une autre solution, probablement plus élégante, et toujours sans VBA :

1) Transférer le tableau du classeur A dans les cellules A1:B5 d'une autre feuille (qui sera masquée) du classeur B, par des formules du type : =[A.xls]Feuil1!A1

2) Donner le nom "plage" à la plage $A$1:$A$5 de cette feuille du classeur B

3) Dans la feuille de travail du classeur B, sélectionner la cellule A1, puis menu Données Validation-Options et Autoriser : Liste. Puis Source : écrire: =plage. La liste déroulante apparaît quand la cellule A1 est sélectionnée.

4) Dans la cellule B1 de cette même feuille, entrer la formule :

=SI(ESTERREUR(EQUIV(A1;plage;0));"";DECALER(plage;EQUIV(A1;plage;0)-1;1;1))

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

T
  • Question Question
Microsoft 365 Liste dynamique
Réponses
2
Affichages
692
TOGODO
T
Réponses
2
Affichages
887
A
Réponses
12
Affichages
2 K
AnjyD
A
F
Réponses
1
Affichages
1 K
Arnaud59000
A
K
Réponses
38
Affichages
10 K
kinders59
K
C
Réponses
8
Affichages
2 K
Genii
G
C
  • Question Question
Réponses
4
Affichages
3 K
clem67
C
T
Réponses
3
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…