Mise à jour de données

Bonjour à tous,

J'ai créé un planning et j'aimerais extraire des informations de celui-ci dans une autre feuille.
En effet, dans mon planning il y a 12 personnes avec 3 shifts, "matin", "après-midi" et "nuit".

J'aimerais extraire chaque jour le nom des personnes qui travaille le matin, l'après midi et la nuit.
Donc je ne sais pas s'il existe une formule pour chercher dans une ligne, dès que tu vois "matin" par exemple, prends le noms de la personne en haut de cette colonne et colle la ici (dans ces cases d'une autre feuille excel).

Je ne sais pas si j'ai été assez claire dans mon explication mais je peux vous donner plus de détails par la suite.

Merci beaucoup de votre aide.

Bonjour

Oui c'est possible mais joins un exemple représentatif anonymisé.

Aujourd'hui cependant on fait plutôt l'inverse : on saisie dans un tableau Date, Nom, Période (matin ou aprem ou nuit) et on génère le planning à partir de ce tableau.

Bonjour merci pour ta réponse, je t'ai joint un fichier exemple.
Le but étant depuis la feuille "donnee_a_extraire" récupérer toutes les personnes qui font le shift du matin, après midi et soir dans l'autre feuille et les inscirire dans le tableau.

Merci de ton aide

RE

2 solutions ci-joint

  1. Une par formules 365 : voir dans le gestionnaire de noms la formule nommée ListeN
  2. l'autre par PowerQuery : ordre des créneaux + plage des dates à extraire dans l'onglet Paramètres et résultat de la requête à coté de la 1ère solution

bonjour Thibault_g, 78Chris salut,

on peut l'aussi faire comme dans feuille "Blad1") (maintenant en 2 étapes, mais plus tard en 1 étape)

Bonjour 78Chris,

Merci beaucoup pour ta solution qui marche super bien !

Mais pour m'améliorer un peu en excel pourrais-tu m'expliquer ce que tu as fais s'il te plaît ?
Pourquoi avoir créer une commande dans le gestionnaire des noms, et non directement dans une case ? Oui je suis débutant désolé...

Et pourrais-tu m'expliquer les fonctions utilisées dedans aussi ?

Merci d'avance pour ta réponse !

Bonjour

LAMBDA utilisée dans un nom est l'équivalent d'une fonction personnalisée écrite en langage VBA.

Dans

=LAMBDA(J;P;LET(Noms;donnee_a_extraire!$D$1:$O$1;Lignes;donnee_a_extraire!$C$2:$C$367;FILTRE(Noms;DECALER(Noms;EQUIV(J;Lignes;0);0)=P)))

J et P désigne les arguments de la fonction : J pour date et P pour période

LET permet de créer des variables :

  • Noms correspond à la plage de noms sur l'onglet donnee_a_extraire
  • Lignes correspond à la plage $C$2:$C$367 de l'onglet donnee_a_extraire

La fonction FILTRE va donc filtrer la plage Noms, en se positionnant dans la plage Lignes sur la ligne correspondant à la date (J) au moyen de DECALER combiné à EQUIV (tu trouveras leur fonctionnement dans l'aide en ligne, ce sont des classiques) et en filtrant les cellules contenant la période voulue P)

La fonction ainsi créée n'a besoin quand on l'utilise sur une cellule que des 2 arguments J et P donc une date et une période de la journée.

C'est super, merci beaucoup pour ton explication.

Rechercher des sujets similaires à "mise jour donnees"