Remplir plage de données a partir d'une BDD

Bonjour!
Débutant sur Excel, je dois réaliser dans le cadre d'un projet scolaire un reporting des tâches effectuées par 2 personnes.
Ces tâches sont renseignées dans un backlog commun.

J'ai découvert la MFC ainsi que la validation par liste, et me suis empressé d'appliquer ce que j'ai appris.

1) Voici mon tableau de "reporting", en première feuille. (Celui ou les informations seront lues).

capture d ecran 2020 09 08 a 14 33 33


2) Et voici mon "backlog", en deuxième feuille. (Qui est un EDL de tous les travaux réalisés par Claude et Francois) :

capture d ecran 2020 09 08 a 14 38 05

3) Pour finir, ma feuille "data" ou j'ai inscrit toutes les listes :

capture d ecran 2020 09 08 a 14 37 40

MON PROBLEME :

Je cherche à afficher dans chaque plage individuelle du tableau 1 "Reporting" les informations extraite du Tableau 2 "Backlog", en n'affichant que celles correspondant au nom de la bonne personne. (Que dans la plage "Claude" se la feuille "Visu" il n'y ait que les lignes avec la valeur "Claude" en D dans la feuille "Backlog").

J'ai essayé d'utiliser "RechercheV" mais sans grand résultats (soucis pour paramétrer).

Il est possible que ma solution nécessite plusieurs fonctions, ou l'utilisation du VBA : Pas de soucis pour apprendre ;).

Merci d'avance!

21test.xlsx (36.28 Ko)

Je me permets un petit up, si vous avez ne serait-ce qu'un petit bout de solution, ou une piste ou chercher, je suis preneur!

Bonjour,

Rechercher une valeur qui apparait une seule fois est chose aisée, le faire avec une valeur qui apparait plusieurs fois est plus difficile. Voici une fonction personnalisée (via VBA), qui règlerait le problème.
Pour saisir le code suivant, il faut aller sur le volet développeur (s'il n'est pas activé, allez sur le volet Fichier > Options/Personnaliser le ruban/Cochez "Développeur") puis ouvrir l'éditeur Visual Basic, puis insérer un module via le menu contextuel "Insertion" et coller le code dedans :

Function EQUIV_MULT(Valeur_Cherchee, Plage As Range, Occurrence As Byte) As Integer

'PERMET D'OBTENIR LA POSITION D'UNE VALEUR DANS UN PLAGE À SA Nème OCCURRENCE 
Application.volatile

For i = 1 to Plage.Count ' boucle sur i de 1 à la taille de la plage
    If Plage.Cells(i).Value = Valeur_Cherchee Then 'si la valeur de la cellule à la ième position dans la plage = Valeur à chercher
        Cpt = Cpt + 1 'incrémentation (Cpt commence à 0)
        If Occurrence = Cpt Then 'si Cpt = Occurrence >>> CORRESPONDANCE
            EQUIV_MULT = i 'La fonction retourne la position
            Exit function
        end if
    end if
Next i 'on passe au i suivant

End Function

Ensuite, vous saisissez la formule suivante en A3 de Reporting (enfin dans le 1er champ de la colonne ORIGINE) :

=SIERREUR( INDEX('backlog'!$D$2:$D$10;EQUIV_MULT($B$1;'backlog'!$C$2:$C$10;ligne($A1))) ; "")

Puis vous faites glisser la formule aux autres cellules A4, ....

ligne($A1) renvoie l'incrémentation du nombre d'occurrences dynamiquement (renverra 1, 2, ...)

EQUIV_MULT renvoie la position de Claude en C de backlog à l'occurrence qui a lieu.

INDEX renvoie la valeur de origine (dans backlog) à la position obtenue par EQUIV_MULT.

Enfin, SIERREUR permet de renvoyer vide quand la fonction présente une erreur (quand nombre de Claude dans backlog < nombre d'occurrences dans notre formule).

Pour les projets, ce sera en B3 de reporting :

=SIERREUR( INDEX('backlog'!$E$2:$E$10;EQUIV_MULT($B$1;'backlog'!$C$2:$C$10;ligne($A1))) ; "")

Rq : j'ai mis de 2 à 10 mais votre tableau est sûrement plus grand. Il faudra probablement adapter avec vos vrais références qu'on ne voit pas sur vos impressions.

Par ailleurs, je vous recommande vivement d'utiliser des tableaux structurés (c'est l'étape après les validations) afin de faciliter l'utilisation des formules et la lisibilité des infos :
Sélectionner votre plage entière (sauf 1ère ligne de reporting car il faut 1 seule ligne d'en-têtes)/volet insertion/Tableau/avec en-tetes. Puis renommez et mettez en forme selon votre convenance.

Cdlt,

Rechercher des sujets similaires à "remplir plage donnees partir bdd"