XL 2016 Comment figer une liste déroulante à une cellule ?

Joachim R.

XLDnaute Nouveau
Bonjour,
Pour essayer de faire simple, j'ai un tableau de 10 lignes et 4 colonnes, chaque ligne ayant sa liste déroulante propre de prénoms (donc des listes différentes selon les lignes). Une fois mon tableau remplis de prénoms, il m'arrive de faire plusieurs échanges de prénoms entre les différentes cellules. Or il n'est pas rare que je copie sans m'en rendre compte les listes déroulantes avec, désorganisant ainsi les différentes listes déroulantes dans le tableau. Je voudrais alors savoir s'il y a un moyen de figer mes listes déroulantes aux cellules où elles se trouvent afin d'empêcher tout déplacement, échange ou suppression de ces listes, tout en pouvant écrire dans les cellules et copier-coller les prénoms d'une cellule à l'autre (mais sans prendre la liste déroulante avec).
Je précise que l'on m'a déjà conseillé la solution de passer par une macro qui me permet de ne copier que la valeur des cellules. C'est effectivement une solution. Mais comme nous sommes plusieurs à utiliser le tableau, les erreurs arrivent sans arrêts. Je cherche don une solution pour empêcher tout déplacement de ces listes.
J'espère que j'ai été assez clair...
Merci
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Joachim et bienvenu sur XLD.
Peut être une idée, voir PJ.
On a 4 listes appelées Liste1 à Liste4.
A gauche des listes déroulantes on met le N° de la liste désirée.
Dans la liste déroulante on met la formule :
VB:
=INDIRECT("Liste"&A6)
dans ce cas, même avec un copier coller, la liste reste toujours correcte car indexée sur la cellule de gauche.
 

Pièces jointes

  • Joachim.xlsx
    9.1 KB · Affichages: 10

Romain31

XLDnaute Occasionnel
Bonjour Joachim,
Voici un exemple que j'utilise associé à une protection de la feuille.
Peut-être creuser aussi du côté Workbook_Open pour rétablir un peu d'ordre ???
Bonne soirée
 

Pièces jointes

  • Liste validation - Menus déroulants.xlsm
    25.1 KB · Affichages: 8

Joachim R.

XLDnaute Nouveau
Bonjour,
Merci de vos réponses si rapides. Effectivement je suis nouveau. Je vais prendre le temps d'examiner vos réponses. Je ne suis pas un grand connaisseur du vba. Un ami va m'aider à déchiffrer.
L'effet de Romain31 semble correspondre à ce que je cherche. En revanche, Sylvanu, les listes déroulantes que vous avez établies, j'arrive à les déplacer quand je copie-colle la cellule.
Je redonnerai plus de nouvelles quand j'aurais fait mes essais. Ne soyez pas frustrés si cela prends plusieurs jours (selon le temps que j'aurais pour examiner la chose).
Merci encore pour vos réponses
Joachim
 

Joachim R.

XLDnaute Nouveau
Bonjour Tout le monde,
@joaquim,

Vous devriez retester. Les listes déroulantes restent en place, c'est la valeur affichée qui change mais pas la liste à l'intérieur. Or vous ne parlez que de conserver les listes en place
Bonjour,
Du coup, je pense ne pas comprendre ce que vous m'indiquez de faire. Voyez dans le fichier modifié. Quand je fais "ctrl + c" en B6 et que je colle (ctrl + v) en D6, j'ai la valeur plus la liste qui se colle. Inversement, quand je copie B4 et que je la colle en B7, B7 et sa liste disparaissent pour laisser la place à ce qu'il y a dans B4.
 

Pièces jointes

  • Joachim modifié.xlsx
    10.3 KB · Affichages: 7

Lily78

XLDnaute Nouveau
Bonjour Joachim,
Voici un exemple que j'utilise associé à une protection de la feuille.
Peut-être creuser aussi du côté Workbook_Open pour rétablir un peu d'ordre ???
Bonne soirée
Bonjour
Bonsoir Joachim et bienvenu sur XLD.
Peut être une idée, voir PJ.
On a 4 listes appelées Liste1 à Liste4.
A gauche des listes déroulantes on met le N° de la liste désirée.
Dans la liste déroulante on met la formule :
VB:
=INDIRECT("Liste"&A6)
dans ce cas, même avec un copier coller, la liste reste toujours correcte car indexée sur la cellule de gauche.
Bonjour,
Merci pour la solution : c'est pile ce que je cherchais
 

Discussions similaires