Liste déroulante filtrante et dynamique

Résolu/Fermé
Alicia26 - 16 mai 2015 à 17:25
 Alicia26 - 20 mai 2015 à 18:05
Bonjour,

Je suis sérieusement embêtée par ce problème qui me tient tête depuis trop de temps, je me permet donc de vous demander de l'aide svp.

Je cherche à avoir deux listes déroulantes dynamiques, une liste LD1 en A1 sur la feuille "listeD1" et une liste LD2 sur A2 sur la feuille "listeD2".
Les deux listes utilisent les mêmes cellules soit D8 à D122 d'un tableau (qui s'allonge régulièrement) présent sur une autre feuille ("données").
Dans certaines cellules de ce tableau, le terme "Virement" est présent. Toutes les cellules contenant le terme "Virement sont uniques. Cependant des doublons existent sur les cellules ne contenant pas le terme "Virement", exemple "Carburant Clio75" est présent plusieurs fois. De C8 à C122 est présente une date associée à chaque cellule de ce tableau.

Je souhaiterais que :
- ma liste déroulante LD1 puisse ne récupérer QUE LES CELLULES CONTENANT le terme "Virement".
- ma liste déroulante LD2 puisse ne récupérer QUE LES CELLULES NE CONTENANT PAS le terme "Virement" sans les doublons (n'afficher qu'une seule fois chaque cellule dans la liste).
- le bonus serait en plus de pouvoir afficher à côté de la liste déroulante LD2 (en A1) la date associée au terme le plus récent.
EXEMPLE : Les cellules D54 et D108 du tableau contiennent la valeur "Carburant Clio75". Cette valeur est donc présente 2 fois dans le tableau avec les dates associées suivantes :
ligne 54: C54="25/03/2015" / D54="Carburant Clio75"
ligne 108: C108="06/04/2015" / D108="Carburant Clio75"

Le terme identique en D54 et D108 ne contenant pas le terme "Virement", il est affiché dans la liste LD2. Lorsqu'il est validé dans la liste, la cellule A1 affiche "06/04/2015" soit le "Carburant Clio75" le plus récent.

Je vous remercie par avance avec toute ma gratitude pour le temps que vous me consacrerez.

Cordialement,

A voir également:

2 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 16/05/2015 à 18:55
Bonsoir
ça aurait pu être plus simple et plus juste avec le fichier. Regardez si ce modèle vous convient, et revenez en soumettant le votre si problème d'adaptation
https://www.cjoint.com/c/EEqtixV1Vlt
les colonnes de codage en feuille BdD (V W X) peuvent être masquées ou sur une autre feuille)
le système fonctionne jusqu'à la ligne 1000 dans le modèle
crdlmnt


Errare humanum est, perseverare diabolicum
0
Bonjour Vaucluse
Je n'ai pas pue vous répondre rapidement car j'étais en train d'implémenter votre solution dans mon fichier.
Merci beaucoup pour votre réactivité et votre réponse, je suis ravie :)
Les listes VIR et AUT fonctionnent bien correctement et se mettent bien à jour.
Concernant la date associée au choix de la liste LD2, cela fonctionne bien aussi. J'ai visiblement juste oubliée de vous signaler un paramètre supplémentaire : Dans votre fichier le tableau "Validation liste AUT" s'agrandit et chaque nom peut-être écrit plusieurs fois et chaque nouvelle ligne ne doit pas modifiée la ligne précédente avec le même prénom.
Par exemple :
Ligne 4 : Lucas 22/01/2016 (Cette date correspond bien à la dernière date entrée pour Lucas dans le tableau BdD).
Maintenant si je rentre dans le tableau BdD une nouvelle fois Lucas (Lucas 26/11/2016)
Dans le tableau "Validation liste AUT", en ligne 5 je vais sélectionner "Lucas" et la date 26/11/2016 s'affichera à côté. Par contre la ligne 4 doit figer la date 22/01/2016.

Pour ce qui est de la liste déroulante VIR, j'ai également oubliée de prendre en compte un autre paramètre (je vais me faire taper sur les doigts !) :
Dans le tableau BdD, j'ai en colonne C un état pour les virements avec trois valeurs ("Terminé" / "En cours" / "Rejeté").
Est-il possible d'avoir dans la liste VIR que les Virements "Terminé" ?

Encore une fois un GRAND MERCI pour votre aide Vaucluse !!

Cordialement,
0
Merci beaucoup Vaucluse !
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
18 mai 2015 à 18:25
Bonjour

voila déjà pour éliminer les virements autres que "terminé"
https://www.cjoint.com/c/EEssA4sclhF

par contre pour la suite, je ne comprend pas bien:
vous voulez choisir Lucas plusieurs fois et à chaque fois trouver quelle date?
supposons un cas comme ci après:

dans l'état de mon modèle, vous entrez trois autres lignes Lucas avec des dates.(mettons les lignes 264,380,508 pour l'exemple)
Ces dates sont elles toujours en ordre croissant (ce qui n'est pas le cas dans mon modèle)... mais ce serait plus simple
Ensuite, dans la feuille Autres, vous affichez une seconde fois Lucas
vous avez donc 7 fois Lucas dans la première sélection de AUTRE qui renvoie la date en ligne 212 de BdD (22/01/2016)
Vous avez en plus les rois lignes Lucas que nous venons de rajouter
Vous voulez laquelle quand vous affichez Lucas pour dans la feuille AUTRE? La date au plus tard qui suit la précédente entrée?
ou autre solution...!

Quelque soit la réponse il faudra passer par VBA pour résoudre la question.
Pouvez vous admettre de figer par macro la partie remplie du tableau de la feuille Autres, et donc supprimer les formules sur les dates déjà affichées quand vous sélectionnez une nouvelle cellule A?

à vous lire

crdlmnt

0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 19/05/2015 à 09:36
Bonjour
En attendant quelques explications, essayez ce modèle pour la feuille autres:

la sélection se fait uniquement en A4 et pas dans la tableau
la valeur A4:B4 définie en A4:B4 vient se placer en fin de tableau lorsque vous faites Enter depuis la cellule A4

Toutefois, si la date trouvé en B4 pour le nom en A4 existe déjà dans la liste pour le même nom, Excel vous affiche un message pour refuser l'enregistrement.
ceci vous permet d'éviter d'avoir plusieurs lignes avec le même nom et la même date dans le tableau.

Par contre, une ligne va se créer avec chaque fois le nom et la date maxi liée au nom si elle est différente de celle déjà enregistrée
Si ce n'est pas ce que vous attendez, revenez.
Notez que le fichier est un xlsm et donc fonctionne avec une macro (feuille "autres," clic droit sur nom de l'onglet, visualiser le code)
crdlmnt

Ps suite à un problème temporaire de fonctionnement du site de dépôt des fichiers, je déposerai le lien un peu plus tard.
0
Bonjour Vaucluse,
Concernant votre avant-dernier message, effectivement dans votre modèle, à chaque fois que je sélectionne Lucas dans la liste de la feuille Autres, les dates seront toujours du plus ancien au plus récent :
ligne 264 : Lucas 26/04/2015
ligne 380 : Lucas 15/05/2015
ligne 508 : Lucas 26/07/2015
Admettons qu'une nouvelle valeur a été entrée dans la feuille BdD en ligne 260 avec la date 15/02/2016
Les dates présentes aux ligne 264, 380 et 508 de la feuille Autres doivent être figées.
Ensuite je rajoute une ligne Lucas
ligne 654 : Lucas, la date associée serait la plus récente de la liste de la feuille BdD.

par rapport à votre dernier message, effectivement figer les dates des anciennes sélections de la feuille Autres est envisageable pour moi.Le comportement que vous me décrivez semble bien correspondre à mon besoin. Si le site de dépôt refonctionne, pouvez-vous m'envoyer ce dernier fichier svp pour que je puisse valider votre proposition ?

Bien cordialement,
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 19/05/2015 à 11:05
le site Cjoint est toujours bloqué... voyez ici si ça fonctionne
https://mon-partage.fr/f/zhICAOqU/
0
non, le lien ne fonctionne pas...
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
19 mai 2015 à 14:46
Ah??? chez moi ça fonctionne pourtant.
mais de toutes façons, cjoint est réparé
voyez ici:
https://www.cjoint.com/c/EEtoT1FfhEP
0