Liste déroulante

Fermé
nauzia45 Messages postés 339 Date d'inscription samedi 16 février 2013 Statut Membre Dernière intervention 24 décembre 2020 - 25 mars 2014 à 11:46
nauzia45 Messages postés 339 Date d'inscription samedi 16 février 2013 Statut Membre Dernière intervention 24 décembre 2020 - 27 mars 2014 à 09:01
Bonjour à tous,

Mes listes déroulantes me jouent des tours...

1/ ma liste déroulantes "Dates" s'ouvre toujours au 1° janvier 2014. Tant que l'on est en janvier ou février, ça va mais ensuite, le temps de trouver la bonne date j'ai plus vite fait de l'entrer à la main. Y a t'il une manip pour que la liste déroulante s'ouvre en présentant la date du jour ?

2/une autre liste déroulante, elle, au contraire, se présente en fin de liste; je ne comprends pas pourquoi ces listes se présentent de façon différente.

J'ai déjà regardé dans "Fichier", Options avancées; je n'ai rien trouvé.

Je suis sous Windows 7, avec Excel 2010.

Merci d'avance pour le temps que vous voudrez bien consacré à me répondre.
PS: J'ai un autre problème d'affichage réduit; je vais sur quel forum ? Merci



9 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
25 mars 2014 à 11:51
Bonjour
la liste issue d'un menu déroulant s'affiche en fonction de ce qu'il y a dans la cellule et à défaut au début
Si votre cellule est vide et la iste de référence contient un vide, c'st la dessus qu'elle s'aligne.
Il y a moyen de définir la liste par formule pour qu'elle démarre par exemple à aujourd'hui, mais il faudrait en savoir plus sur vos données de références.
crdlmnt
0
nauzia45 Messages postés 339 Date d'inscription samedi 16 février 2013 Statut Membre Dernière intervention 24 décembre 2020 23
25 mars 2014 à 14:14
Bonjour Vaucluse,

Excusez-moi, j'étais parti déjeuner.

Tout d'abord permettez moi: depuis que je fréquente CCM, je suis émerveillé et reconnaissant de votre disponibilité et de votre compétence. Merci ...

Mon classeur gère ma banque et fait de la gestion budgétaire.

Mes listes sont en première page. 3 listes:

1/ DATE : 1 cellule vide en A2 puis les dates, au format "date", du 1° janvier au 31 décembre
2/ POSTE (il s'agit de poste budgétaire) : 1 cellule vide en C2 puis de C3 à C50 mes postes budgétaires (C46 à C50 inclus vides)
3/ PAIEMENT (mode de paiement): 1 cellule vide en E4 puis différents modes de paiement et n° de chèque de E5 à E55.

J'espère que ces précisions vous permettront de m'orienter.
Merci - Cordialement à vous
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
Modifié par Vaucluse le 25/03/2014 à 14:48
Re
1°) une cellule vide en tête de liste est une bonne option pour que la liste s'affiche à son point de départ quand vous l'affichez dans une cellule vide.
2°) pour raccourcir les listes, il faudrait pouvoir connaitre quels sont les arguments qui permettent de n'en utiliser qu'un partie
3°) un exemple qui vous permettra peut être d'adapter:
Soit afficher une liste de 20 jours seulement qui suivent la date d'aujourd'hui
condition de la référence:
liste de jours de l'année, commençant en A2 en Feuil2 avec bien sur les dates dans l'ordre
Nommer cette liste exemple DATE
dans la fenêtre de mise en place du nom, à la place de l'adresse placez cette formule:

=DECALER('Feuil2'!$A$1;EQUIV(AUJOURDHUI();Feuil2'!$A$2:$A$367;0);;20)

Vous pouvez bien sur "moduler le départ de liste avec le code EQUIV, par exemple:
=EQUIV(AUJOURDHUI()-10;... pour démarrer 10 jours avant le jour en cours

mais il faut dans tous les cas que le code EQUIV ou EQUIV + xx ou-xx rouve une valeur dans la base des références.

Cette formule ajustera le départ de la liste dans le menu sur la date du jour en cours

Bien sur, pour la validation, choisir l'option liste et =DATE (ou nom de la liste)

Pour aller plus loin il faudra plus d'info.

crdlmnt

Ps
Autre exemple: poste budgétaire. Vous pouvez caler le départ de liste sur le début du texte entré dans la cellule à équiper:
même principe décaler, mais par exemple pour remplir une cellule A2, le code EQUIV devient:

EQUIV(C2"*";Feuil2!$A$2:$A$50;0) pour le début de liste

Conditions:
la liste de référence doit être classée par ordre alphabétique
l'option de validation doit autoriser les textes différents
la li_ste s'ajustera quand vous entrez la 1° lettre ou le début du texte
0
Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
25 mars 2014 à 15:35
Bonjour.

En plus de la solution de Vaucluse (que je salue) utilisant la fonction DECALER, il y a une autre approche possible :
Pour entrer une date, la liste déroulante n'a d'intérêt que si les dates sont discontinues (par exemple les week-ends et jours fériés).
Il n'y a absolument aucun avantage à aligner les 365 jours de l'année dans une liste déroulante ; il suffit de mettre un critère de validation "Autoriser / Date" pour éviter une mauvaise saisie.

Cordialement.
0
nauzia45 Messages postés 339 Date d'inscription samedi 16 février 2013 Statut Membre Dernière intervention 24 décembre 2020 23
25 mars 2014 à 16:28
Bonjour Vaucluse et Raymond PENTER,

Je crois avoir presque tout compris de vos réponses.
Je fais des essais et revient vers vous de toute façon.

Pour Raymond PENTER: mes dates sont presque toujours discontinues; elles correspondent à la date à laquelle j'ai fait une dépense, enregistrée dans mon dossier "Banque 14"; et je ne fais pas de dépenses tous les jours quand on est à la retraite, pas aux Antilles mais en Sologne ! De surcroît, avec des retraites dont le pouvoir d'achat diminue d'année en année grâce à nos brillants économistes gouvernementaux.

Merci beaucoup à tous les deux - Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nauzia45 Messages postés 339 Date d'inscription samedi 16 février 2013 Statut Membre Dernière intervention 24 décembre 2020 23
25 mars 2014 à 18:31
Bonjour Vaucluse,

Bon, ça y est....je suis déjà planté

Je suis désolé d'être aussi c... !

J'ai ouvert un nouveau classeur, nommé la 1° page "Listes", entré mes dates du 01/01/2014 au 31/12/2014 et nommé cette liste "Date"

Dans la feuille2, j'ai voulu entrer ta 1° formule en faisant un copier-coller dans la cellule A5 en ajustant les arguments de ta formule à mon exemple (après avoir fait une validation de données)

Ca me renvoie #VALEUR!

Je n'ai pas dû comprendre ta phrase:

dans la fenêtre de mise en place du nom, à la place de l'adresse placez cette formule:

Qu'entends tu par "fenêtre de mise en place du nom" ?

Merci - Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
25 mars 2014 à 19:11
Bon!
La formule ne va pas dans une cellule mais dans la fenêtre de définition du nom
on efface tout et on recommence
Sélectionner la liste la liste de la page Listes

Aller dans :
Ruban / Onglet formule/ sélectionner: "définir un nom"
une fenêtre s'affiche

placer le nom choisi dans le cadre du haut de cette fenêtre (sans blanc, un nom court si possible genre: Date
la formule dans le cadre inférieur
cliquer sur OK
et ensuite utiliser ce nom pour placer la liste de validation dans les cellules à traiter

revenez si ça ne va pas, on essaiera de vous faire un tuto.

crdlmnt
0
nauzia45 Messages postés 339 Date d'inscription samedi 16 février 2013 Statut Membre Dernière intervention 24 décembre 2020 23
26 mars 2014 à 11:05
Bonjour Vaucluse,

Merci, merci pour cette explication très claire; j'ai imprimé, suivi pas à pas, recommencé plusieurs fois. Ca marche pas... Quelle bêtise j'ai encore faite ?
Ci-joint le lien pour voir mon dossier.

Cordialement

https://www.cjoint.com/?DCAk7IbdOAj
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
26 mars 2014 à 11:45
Bonjour
voyez ici et regardez dans le gestionnaire de noms ou se trouve la formule
https://www.cjoint.com/c/DCAlPCWAD4g
la liste déroulante démarre sur le jour en cours et contient les 20 dates suivantes

Vous pouvez ajuster ça en modifiant la formule:
=DECALER(Listes!$A$2;EQUIV(AUJOURDHUI();Listes!$A$3:$A$367;0);;20)

faire suivre le code EQUIV(AUJOURDHUI();Listes!$A$3:$A$367;0) de + ou - une valeur pour démarrer la liste avant ou après la date du jour
Modifier la valeur 20 pour déterminer le nombre de valeurs dans la liste

crdlmnt
0
nauzia45 Messages postés 339 Date d'inscription samedi 16 février 2013 Statut Membre Dernière intervention 24 décembre 2020 23
26 mars 2014 à 16:58
Bonjour Vaucluse,

Ca y est.... j'ai compris et fait les modifs en conséquence; j'ai même vérifié les effets des variations des valeurs ("0" et "20" dans votre formule). Tout baigne, MAIS...

J'ai sans doute oublié de préciser que mon classeur "Banque .." contient, entre autres, 12 feuilles correspondantes au 12 mois de l'année; quand je vais dans le mois de Mai, la liste déroulante me propose toujours la plage de dates concernant le mois de Mars.

J'ai tenté de me débrouiller seul en me disant qu'il fallait faire une formule pour chaque mois; un peu long, mais bon. Quand je vais dans le "Gestionnaire de nom", puis "Modifier" je n'ai pas accès à la rubrique "Zone" qui contient actuellement le mot "Classeur" (la rubrique est en grisé, inactive).

Comme déjà, j'aurais bien été incapable de trouver seul la formule que vous m'avez proposée, je suis à nouveau bloqué, sans présumer ce qu'il faut faire. A moins de mettre dans la feuille "LISTES" une liste de dates par mois, ce qui me semble un peu "lourd".

Si vous n'êtes pas saturé d'avoir à faire à de tel débutant, merci d'avance pour votre aide, et merci aussi pour tout ce que vous m'avez déjà envoyé.

Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
26 mars 2014 à 18:37
Re

le problème est que dans la formule de définition, on ne peut faire référence à une autre feuille que celle où est placée la liste des référence

Pour ne pas faire une iste par feuille, je ne connais que la solution de nommer 12 listes avec cette formule ,à chaque fois si la liste commence en A2:
=DECALER(Liste!$A$2;EQUIV(DATE(ANNEE(Liste!$A$2);1;1);Liste!$A$1:$A$365;0)-2;;31)
(Copier coller la liste à chaque fois que vous nommer et modifier simplement le N° en gras ci dessus pour avoir le n° du mois
Ici 8 = mois d'Août
On peut nommer ces liste Janvier, Février ect...
ensuite la validation par feuille avec chacun des noms.

La formule fait que les listes vont s'ajuster à l'année qui est placé en A2 de liste et démarrer à chaque début de mois
principe du code :
DATE(année;mois;jour)

mais n'ayant pas la science infuse, loin delà, vous allez peut être recevoir d'autres options que je noterais avec plaisir!!
crdlmnt
0
nauzia45 Messages postés 339 Date d'inscription samedi 16 février 2013 Statut Membre Dernière intervention 24 décembre 2020 23
27 mars 2014 à 09:01
Bonjour Vaucluse,

Je vous remercie du temps que vous avez bien voulu consacrer à mon problème.

Bonne journée - Cordialement
0