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

XL 2013 Cellule liste déroulante réciproque

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 !

christ61

XLDnaute Nouveau
Bonjour

Je viens de m'inscrire sur votre forum pour essayer d'avoir un peu d'aide.

Je souhaite créer une feuille excel dans laquelle j'aurai une colonne code et une colonne intitulé.
Chaque cellule doit etre avec liste déroulante.
exemple colonne A liste 10,20,30,40 auquel sont associés respectivement les noms A,B,C,D

Si je mets 10 en A1 doit s'afficher A en B1
et inversement, c'est là ou je bloque
Si je mets A en B1 doit s'afficher 10 en A1

Je ne sais pas si je m'explique correctement mais je vous mets un fichier.

Je vous remercie par avance pour l'aide que vous pourrez m'apporter.
 

Pièces jointes

Re : Cellule liste déroulante réciproque

Bonjour Christ61 et bienvenue sur XLD, le forum,

Ce que tu demandes n'est pas évident, car dès que tu mets une donnée dans une cellule, tu supprimes la formule qu'elle contenait.

Je pense que c'est faisable par vba, mais je passe mon tour.

En attendant, j'ai modifié tes listes de validation pour avoir le résultat que tu escomptais. L'inconvénient est qu'il faut re-cliquer sur la cellule précédente pour afficher ta valeur.
Fais un essai en supprimant d'abord les valeurs de A1 , puis B1, etc..
Code:
=SI(B1="";code;INDEX(A10:B13;EQUIV(B1;B10:B13;0);1))

Cordialement.
 

Pièces jointes

Re : Cellule liste déroulante réciproque

Salut

Un tableau (nommé ici T) permet de s'affranchir de sa position de sa longueur (ajout , suppression de lignes) sans toucher à la macro.
Code:
Private Sub Worksheet_Change(ByVal R As Range)
  Application.EnableEvents = 0
    If R.Address = "$A$1" Then [B1] = [T].Columns(1).Find(R)(1, 2) 'liste en A1 vers B1
    If R.Address = "$B$1" Then [A1] = [T].Columns(2).Find(R)(1, 0) 'liste en B1 vars A1
  Application.EnableEvents = 1
End Sub

Nota : les 2 lignes avec "Application.EnableEvents" sont inséparables et servent à éviter des appels incessants à l'évènement.
 

Pièces jointes

Re : Cellule liste déroulante réciproque

Bonsoir

Merci de vos réponses aussi rapides.
Pour l'instant je n'ai pas eu le temps d'éplucher les fichiers mais ils font ce que je recherche.
C'est super.

merci encore et bonne soirée à tous.

Christophe
 
- 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

Discussions similaires

Réponses
2
Affichages
592
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…