Liste conditionnelle

Bonjour à tous,

Je vous joins un petit fichier assez simple, pour une demande basique.

Ce fichier se compose de 3 onglets :

2 onglets source, sur lesquels je récupère des données extraites d'autres logiciels, soit :

1. une liste de clients et de chantiers affectés à ces clients (plusieurs clients, et plusieurs chantiers pour chacun de ces clients)

2. une liste d'employés ;

Sur le 3ème onglet "horaires", j'aimerais monitorer les heures effectuées chaque jour sur les chantiers pour chacun des employés.

Ma demande est la suivante :

sur le 3ème onglet, en colonne D "clients", j'aimerais faire apparaitre une liste déroulante avec les clients disponibles (issus du premier onglet), donc voir apparaitre une seule fois le nom de chaque client ;

Après avoir rempli la cellule en colonne D, j'aimerais renseigner la colonne "Chantiers", mais uniquement avec les chantiers rattachés à ce client selon premier onglet. C'est donc une liste conditionnelle.

Je précise que le formatage des données dans les deux onglets sources est rigide et que j'aimerais ne pas avoir à travailler ces données sources en vue de l'utilisation que je souhaite en faire. Je précise aussi que je sais faire des listes conditionnelles en prénommant une série de champs et en utilisant la fonction "Indirect" couplée aux listes de validation, mais que cette manière de faire nécessite un formatage des données source, ce que je souhaite éviter !

Merci de votre feedback !

17modele.xlsx (15.47 Ko)

Bonjour à tous,

Un debut :

On ne peut actuellement calculer aucunes somme 'd'heures

3modele.xlsx (19.36 Ko)

Merci beaucoup, la colonne E "Chantier" fonctionne très bien !

En revanche, en colonne D "Client", j'ai une liste déroulante standard, avec plusieurs fois le même client ; j'aimerais que cette liste déroulante ne mentionne qu'une seule fois le même client.

Est-ce possible ?

Étonnant !

sur ma liste, il n'y a que 3 clients !

je te remets le fichier avec une autre liste

Ton excel est a jour ?

7modele.xlsx (18.14 Ko)

Ok j'ai appris quelque chose !

Mais si je mets client DEF en cellule D3, j'ai toujours une liste de choix sur les chantiers ABC en cellule E3, alors que la liste de choix devrait permettre de sélectionner uniquement des chantiers du client DEF.

Une idée ?

re

je ne fais pas de VBa, mais c'est le seul programme que j'ai (il n'est pas de moi !)

15modele.xlsm (25.74 Ko)

Bonjour à tous

Une solution par formules sans VBA.

A noter que le tableau des chantiers doit toujours être classé par client et chantier (comme c'est la règle pour les sources de listes déroulantes)

Merci Chris,

Auriez-vous la gentillesse de m'expliquer à quoi sert la formule =DECALER, ce qu'elle fait et sa syntaxe (que je m'endorme moins bête...) ?

RE

DECALER permet, en se décalant par rapport à un point connu de n lignes et/ou m colonnes, de récupérer une plage de n lignes et/ou m colonnes

Là on part du titre de la colonne Chantiers, on cherche le 1er chantier du client sélectionné en cherchant la1ère ligne du client dans la colonne Clients (EQUIV) puis on calcule le nombre de lignes pour ce client (NB.SI)

On ne s'occupe ici que des lignes, puisque la colonne est connue

Merci beaucoup !

Rechercher des sujets similaires à "liste conditionnelle"