Faire apparaître une liste de lignes

Bonjour,

Je cherche à créer un fichier de suivi pour un projet (test_suivi_global.xlsx) qui irait trouver dans mon planning hebdomadaire (planning_HEBDO_VBROUILLON.xlsx) la liste des tâches de ce projet (Colonne "Projet" du tableau) et qui me renverrait dans mon suivi la liste des tâches trouvées avec les données demandées dans le tableau (état, date de début, date de fin, nom de la tâche, les acteurs) pour le projet demandé.

J'ai réussi à l'aide de la formule RECHERCHEV à le faire aller me chercher le projet et renvoyer les données demandées, mais uniquement de la première occurrence. Pour toutes les lignes supplémentaires du tableau il me renvoie toujours cette première occurrence.

Pour information, je ne peux pas utiliser les macros, celles-ci n'étant pas autorisées dans mon entreprise.

Je vous joins les deux fichiers. En vous remerciant grandement pour votre aide.

Bonsoir à tous !

Une approche via Power Query (donc pas de VBA..) (Outil nativement intégré dans Excel depuis 2016) :

Bonsoir,

j'ai fusionné les deux fichiers, reste à voir si la formule fonctionne avec des fichiers différents, formule en B5 de votre fichier exemple :

=SIERREUR(INDEX(Tableausource[#Tout];PETITE.VALEUR(SI($E$1=Tableausource[Projet];LIGNE(Tableausource[Projet])-13;9^9);LIGNE(1:1));3);"")

Le "3" à la fin correspond à la colonne que l'on veut récupérer la donnée, ici 3 car l'état est en colonne 3 du tableausource.

Petite.Valeur nous permet de créer une matrice de valeur correspondant aux numéros de ligne de la feuille Excel où en colonne Projet se trouve la valeur de E1.
Si oui alors on met le numéro de ligne Excel, sinon on met l'équivalent de 9 puissance 9.

Le -13 permet de "recaller" la valeur de ligne trouvée car la première ligne de donnée du tableau est en ligne 15, mais ceci est la deuxième ligne du tableau, donc pour trouver "2" afin de renvoyer la donné en ligne 15 de la feuille, il faut bien soustraire 13 de 15...

Si vous avez 3 lignes avec "Projet 2", Petite.Valeur aura une série de données avec la valeurs de trois lignes "petite" et le reste en 9^9, il suffit alors de demander d'extraire la première petite valeur avec ligne(1:1) pour la première ligne du tableau, la deuxième ligne du tableau avec la recopie automatique de la formule demandera de retourner le deuxième petite valeur car on aura ligne(2:2) etc...

La fonction SIERREUR est là pour faire propre, si la fonction INDEX retourne une erreur, alors on affiche rien, le double guillemet.

Le fichier unique :

@ bientôt

LouReeD

Bonjour,

Merci beaucoup pour votre retour.

Cependant je ne comprends pas pourquoi 9^9 ?

Merci encore pour ces précisions :)

LouReeD,

En complément, j'ai testé en deux fichiers séparés, ça me reprend bien la première ligne, mais pas les lignes suivantes. Est-ce que vous sauriez ce qui bloque ?

Merci d'avance :)

JFL, je suis désolée je n'ai pas compris et je n'ai pas réussi à faire fonctionner le fichier.

Bonjour,

Dans l'immédiat je ne peux tester. Pour le 9^9 c'est juste pour mettre une valeur "énorme" dans la matrice de la fonction PETITE.VALEUR afin que la non égalité ne soit pas mélangée avec une égalité qui donnera un numéro de ligne "petit".

@ bientôt

LouReeD

Bonsoir à tous !

Méthodologie :

  1. Mettre à jour le chemin du fichier Planning (feuille "Paramètres")
  2. Saisir le nom du projet en E1 de la feuille "Suivi complet".
  3. Via le ruban, menu "Données / Actualiser tout".
Rechercher des sujets similaires à "apparaitre liste lignes"