XL 2013 Liste déroulante glissante : A1 -> B1:B9 ; A10 -> B10:B19 ...

Dakitess

XLDnaute Nouveau
Bonjour ! Nouvel inscrit, je risque d'avoir besoins de vos lumières ^^

Je me penche en ce moment sur un questionnaire, essentiellement basé sur des listes déroulantes, avec quelques champs libres. Le questionnaire a proprement parlé est en feuille1 et les modalities des réponses sont en feuille2.

Je cherche à établir des listes déroulantes glissantes, quelque chose de très simple, répondant à la logique suivante :

ListDer1 (en A1 feuille1) prend ses modalités de réponses dans la plage B1:10 de la feuille2

ListDer2 (en A10 feuill1) prend ses modalités de réponses dans la plage B10:19 de la feuille2

...

Un truc tout con donc, avec un écartement constant, m'évitant de devoir selectionner manuellement "validation des données" "Sélection de la plage" pour chacune. Au delà du côté fastidieux la première fois, il est aussi question de maintenance, forcément ^^

J'imagine que c'est relativement simple, j'ai cherché sur le net bien sur, mais je trouve des choses toujours un peu différentes et généralement un peu plus complexe. Il est dommage que la liste déroulante ne soit pas déclenchable par formule, auquel cas on pourrait faire glisser les arguments de plages, ce serait si facile :)

Typiquement, l'idéal serait d'éditer manuellement deux questions completes, de les sélectionner, de glisser avec le coin inférieur droit, et ô magie... J'ai meme eu un petit espoir ;) Mais non, malheureusement.

Je peux tenter en VBA, si vous avez des propositions.

Dans tous les cas merci d'avance, et pardonnez les éventuelles fautes de forme, je ne suis pas encore familier avec le forum ! N'hésitez pas si cela manque cruellement d'info. Concernant le fichier en particulier, je ne peux le partager en l'état, confidential, mais j'imagine qu'il est possible d'en faire une simulation toute bête :p M'enfin je pense que la problématique est suffisamment limpide, mais à nouveau n'hésitez à me reprendre.
 

Pièces jointes

  • Liste Deroulante Glissante Forum.xlsx
    9.3 KB · Affichages: 43
  • Liste Deroulante Glissante Forum.xlsx
    9.3 KB · Affichages: 45

Dugenou

XLDnaute Barbatruc
Re : Liste déroulante glissante : A1 -> B1:B9 ; A10 -> B10:B19 ...

Bonjour,
Merci pour tes explications claires et pour la PJ : c'est parfait !

On commence avec une formule DECALER
Puis on crée une zone nommée
et on utilise ce nom dans la liste de validation

voir détails et formule en pj
à ta disposition si besoin de plus d'explications

Cordialement
 

Pièces jointes

  • dakitess.xlsx
    168.5 KB · Affichages: 42

R@chid

XLDnaute Barbatruc
Re : Liste déroulante glissante : A1 -> B1:B9 ; A10 -> B10:B19 ...

Bonjour et Bienvenue sur XLD,
voir PJ
formules dans le gestionnaire de noms.


@ + +


Ouuuups : grillé par Dugenou :D ;)
 

Pièces jointes

  • Liste Deroulante Glissante Forum.xlsx
    9.4 KB · Affichages: 37
  • Liste Deroulante Glissante Forum.xlsx
    9.4 KB · Affichages: 35

Dugenou

XLDnaute Barbatruc
Re : Liste déroulante glissante : A1 -> B1:B9 ; A10 -> B10:B19 ...

R@chid,

:DAlors ça c'est tellement rare que je vais mettre un cierge à sainte Rita et une grande croix dans mon calendrier !:cool:
Le jour ou j'ai été plus rapide que R@chid .....:)
Allez avoues, tu faisais la sieste ?
 

Dakitess

XLDnaute Nouveau
Re : Liste déroulante glissante : A1 -> B1:B9 ; A10 -> B10:B19 ...

M'okay on m'avait dit que vous étiez efficace et réactif mais là...

Grand merci à vous ! C'est superbe d'élégance, meme pas de macro, le pied xD

Je retiens la seconde solution, plus simple d'application me semble-t-il, mais merci beaucoup dans les deux cas, bien évidemment, avec de l'autre côté l'ajouts de capture d'écran et d'explication bien utiles :)

Je vais tâcher d'adapter ça à mon cas concret, un rien plus complexe, mais désormais j'ai les briques et plus d'escuse.

Je me permets d'en profiter, savez s'il est possible de bidouiller l'affichage de la liste déroulante ? Par défaut il semblerait que les items soient limités au nombre de 8, après quoi un ascenseur est de mise, avec de surcroit l'affichage par défaut tout en bas... Pas pratique ! J'ai cru lire que c'était délicat comme truc, mais peut être avez vous la solution.

S'il est nécessaire / preferable d'ouvrir un autre fil, je m'y plierai volontier ;)

Merci encore !

Edit : Mmmh bon. Donc mon cas concret n'est pas bien compliqué et pourtant ^^ Je peine à adapter la solution. Quelle est cette magie qui met tant d'automatisation dans si peu de caractères ? :p Je me permets donc de vous decrire mon cas concret :

Mes questions (listes déroulantes donc) sont espacées de 10 : C44 - C54 - C64 - ...) avec un début à C44. Les modalités sont également au nombre de 10 : D45:D54 pour la premiere liste, D55:D64 pour la seconde...

En gros, j'aurai du mieux vous preparer mon fichier avec un cas moins trivial, voici une version bien plus raccord en PJ. Désolé pour la suppression un peu barbare tout autour des zones d'intérêts ^^

Merci de votre aide si vous avez le temps de vous y pencher une seconde fois !
 

Pièces jointes

  • Liste Deroulante Glissante Forum V2.xlsm
    148.8 KB · Affichages: 38
Dernière modification par un modérateur:

Dugenou

XLDnaute Barbatruc
Re : Liste déroulante glissante : A1 -> B1:B9 ; A10 -> B10:B19 ...

Re,
La formule décaler ne doit pas être placée dans la cellule mais dans la définition de la zone nommée voir mon exemple
Si tes questions et tes réponses sont en lignes 45 et suivantes : ligne()-45
Enfin la liste s'affiche par le bas car tu as des cellules vides dans ta liste de réponses. Si tu remplis les 10 lignes, elle s'affichera par le haut.
correction en PJ mais j'ai eu des erreurs liées à la macro lors de l'enregistrement
 

Pièces jointes

  • dakitess V2.xlsm
    111.3 KB · Affichages: 51

Dakitess

XLDnaute Nouveau
Re : Liste déroulante glissante : A1 -> B1:B9 ; A10 -> B10:B19 ...

Erreur débile d'empressement, désolé. Merci, cela semble fonctionner en l'état :D

Pour la liste, bien vu, les champs remplis permettent à l'ascenseur d'apparaitre tout en haut. Je me souviens d'un bout de code permettant, je crois, ne prendre dans la liste que les items non vides, est-ce que ça te parle ?

Parce que pour le coup, si j'ai prévu 10 emplacements pour être tranquille, ils ne seront jamais plein ou presque, ce qui est un peu embêtant. Donc plusieurs choix :

- Soit il me faut fixer l'ascenseur en haut en toute circonstance

- Soit je trouve le moyen d'étendre les 8 items affichés à 10

- Soit je dois bidouiller pour que la function de liste déroulante ne prenne que les items non vide...

Sauf erreur, les deux premieres solutions ressemblent à des limitations d'Excel auquel on y peut pas grand chose non ? Pour la dernière, comme je disais je crois avoir vu un bout de code mais mes recherches sont infructueuses là. Ca vous dira peut être quelque chose. D'ailleurs, si cette solution existe, elle s'accompagnerait très bien de la seconde, pour éviter en toute situation la presence d'un ascenseur peu pratique.

Je te remercie sincèrement à nouveau ! Ainsi qu'à toute autre personne se penchant sur la question :)
 

Dugenou

XLDnaute Barbatruc
Re : Liste déroulante glissante : A1 -> B1:B9 ; A10 -> B10:B19 ...

Il faut utiliser le 3eme argument de la fonction decaler qui permet de fixer la hauteur de la zone
avec un nbval()
Code:
=DECALER('Options du questionnaire'!$D$45;LIGNE()-45;;NBVAL(DECALER('Options du questionnaire'!$D$45;LIGNE()-45;;10)))
Cordialement
 

Dakitess

XLDnaute Nouveau
Re : Liste déroulante glissante : A1 -> B1:B9 ; A10 -> B10:B19 ...

Eh bien c'est impec'... Un immense merci pour ta patience et ta connaissance ! :)

Si jamais quelqu'un à la solution pour afficher jusqu'à 10 items lors du clic sur la liste déroulante, je reste preneur ;)
 
Dernière modification par un modérateur:

Discussions similaires

Réponses
8
Affichages
411

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83