Bonjour à tous,
1. Merci pour la mine d'informations disponible et la gentillesse des personnes répondant sur le forum.
2. Malgré mes recherches, je n'ai pas trouvé de solution au problème ci-dessous.
Je crée un fichier de suivi des heures pour faciliter la saisie des lignes de pointage et leur exploitation par le service RH.
Je cherche à créer une liste déroulante des lignes de pointage en colonne C, dépendante des affaires indiquées en colonne B, feuille "Saisie".
Condition: J'aimerais y faire référence via des formules excel (Decaler/Index/equiv/indirect) et (si possible) éviter de créer des listes à la main ou par macro.
Détails pouvant être utiles:
-Les listes d'affaires et lignes de pointage en cours sont importées chaque semaine dans l'onglet "listes" via une macro.
-La liste déroulante des affaires est placée dans la feuille "Saisie", colonne B, entre les lignes 7 et 17. [Création via le formulaire des noms, référence: =listes!$B:$B]
-Le nombre d'affaires évolue à la hausse et/ou à la baisse (ex: si une affaire est terminée, je la supprime).
-Les lignes de pointage sont intégrées avec chaque affaire et leurs nombres et valeurs peuvent changer (la ligne 2, feuille "listes", contient 3 lignes de pointage C2:E2, mais la ligne 3 n'en contient qu'une).
-Les saisies sont réalisées entre la ligne 7 et la ligne 17.

Voici les pistes que j'ai essayé.
Piste 1:
Dans la cellule C7, validation de données, liste avec la formule:
=DECALER(listes!$B$1:$B$1000;EQUIV(B10;Liste_No_Affaires;0)-1;1;1;NBVAL(DECALER(B10;0;EQUIV(B10;listes!$B2:$AZ2;0)-1;1;100)))
Les inconvénients: La liste fonctionne dans la cellule C7, elle affiche les 3 lignes C2:E2 + des cellules vides dont je n'ai pas réussi à me débarrasser.
Cela ne fonctionne pas si je répète cette formule sur toute la hauteur ==> Lorsque je clique en B8 et que je choisis l'affaire A, je n'ai accès, en C8, qu'à la première ligne de pointage "Bloavez Mad".
Piste 2:
a) macro enregistrant le nom de l'affaire, colonne E, dans la feuille "informations" et le nom de l'affaire respectant les conditions de création de liste dans la colonne F de cette même feuille.
La macro crée ensuite une liste à partir de la valeur en colonne F.
formule type:
sheets("listes").Range(C2:H2).Name = ThisWorkbook.Sheets("informations").Cells(Ligne où vient d'être inscrite l'affaire, 6).Value
b) Dans la cellule C7, validation de données, liste avec la formule:
=INDIRECT(ADRESSE(EQUIV(B7;informations!$E:$E;0);6;1;1;"informations");VRAI)
Ici, indirect me retourne la valeur de la cellule F7 de la feuille informations et pas d'autre valeur.
Je crains donc que ma macro n'ait pas créée la liste correspondante à cette valeur.
Pourriez-vous me donner un coup de main pour cette liste déroulante ?
Merci d'avance pour votre retour.
P.S: Voici ci-joint le fichier sans macro.
Suivi_tps.xlsx
Partager