Liste déroulante avec sélection autre cellule

  • Initiateur de la discussion Initiateur de la discussion donpopo
  • 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 !

donpopo

XLDnaute Occasionnel
Bonjour à tous et toutes,

Bravo pour ce forum; il s'y trouve plus de solutions que de questions.

Je cherche depuis plusieures heures sur le forum une solution à mon dilemme.

J'ai une liste déroulante basée sur une plage de cellules nommées Libellés. Lorsque je sélectionne un élément de cette liste, je souhaite que ce soit la cellule de la colonne adjacente qui s'encode.

A1 A2

Pr1 blabla
Pr2 bla

Ma liste déroulante affiche la colonne A2 et je souhaite que soit encodé la référence de A1

J'ai un petit programme si je m'explique mal.

Un grand merci d'avance.
 

Pièces jointes

Re : Liste déroulante avec sélection autre cellule

Bonjour,

Par formule, il faut que tu passes par une cellule intermédiaire.

Une cellule ne peut à la fois contenir une formule et une liste déroulante.

Un essai avec cette formule :

Code:
=INDEX(A1:A9;EQUIV(G3;Libellés;0))

On peut améliorer en testant si G3 est vide par exemple.

Sinon, pour un encodage "direct", il faudra passer par du VBA. Et là, ... je laisse mes petits camarades intervenir

Bon dimanche

@+
 
Re : Liste déroulante avec sélection autre cellule

Salut donpopo, Tibo🙂, le Forum

Peut être un truc comme ça en VBA

Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Not Intersect(Target, Range("G3")) Is Nothing Then
Set C = Sheets("Feuil1").Columns(2).Find(What:=[G3])
If Not C Is Nothing Then [G3] = C.Offset(0, -1).Value
End If
End Sub
EDITION: Salut JC 🙂
Re Edith: Erreur dans mon Fichier j'ai modifié le nom Libéllé
il faut remplacer
Code:
=DECALER(Feuil1!$B$1;;;NBVAL(Feuil1!$B:$B)-1)
par
Code:
=DECALER(Feuil1!$B$1;;;NBVAL(Feuil1!$B:$B))
Bonne Journée
 

Pièces jointes

Dernière édition:
Re : Liste déroulante avec sélection autre cellule

Merci Tibo et JCGL pour vos deux réponses.
Mais étant assez novice en excel, pourriez-vous me dire où placer et comment utiliser la cellule que je dois créer avec cette formule?

Si vous pouviez éventuellement me corriger mon pon fichier xls.

Et un grand merci pour m'avoir répondu si vite.
 
Re : Liste déroulante avec sélection autre cellule

Rebonjour,

Me revoilou! 🙁

J'ai effectivement apprécié la réponse de Dull. Mais je suis sûrement trop novice ou dur de la comprenure, mais si j'arrive bien à faire fonctionner ce code avec ma cellule avec liste déroulante, je ne comprend pas comment répéter cette fonction liste déroulante dans les cellules d'une colonne entière.
Si je copie de cellule en cellule, le code ne suit pas.

Merci
A+
 
Re : Liste déroulante avec sélection autre cellule

Bonjour à tous,

Le code de l'ami Dull ne correspond qu'à la modification de la cellule G3.

Évidemment si les données du problème changent les solutions seront différentes... Merci de déposer un fichier avec ce que tu souhaites.

Spécial Dull 🙂:
Ilsenveulenttoujoursplussansdonnerlesmoyensderésoudrelademande

A++ 🙂
A+ à tous
 
Re : Liste déroulante avec sélection autre cellule

Bonsoir JCGL,

En fait, j'ai joint un fichier exemple. Dull a vraiment répondu à ma question, mais j'ai oublié de mentionné que cette liste déroulante devait se répéter sur une colonne comme mon exemple actuel (en fait, mon fichier réel reprend 2000 lignes).

Bonne soirée,
 

Pièces jointes

Re : Liste déroulante avec sélection autre cellule

Salut,

clic bouton droit sur le nom de l'onglet puis Visualiser le code. Copie l'évènementielle (adaptation du code de Dull) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Derli As Long, C As Range
  If Target.Count > 1 Then Exit Sub
  Derli = Range("G6000").End(xlUp).Row
  If Not Intersect(Target, Range("G3:G" & Derli)) Is Nothing Then
    Set C = Range("Libellés").Find(What:=Target)
    If Not C Is Nothing Then Target = C.Offset(, -1)
  End If
End Sub
Attention à la plage nommée "Libellés" !
 
- 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

Retour