Remplissage Auto Nom en Fonction des Dates/Poste
Bonjour,
je suis tout nouveau sur ce forum, et je vous remercie d'avance pour votre lecture, et votre aide.
J'ai parcouru pas mal de vos leçons, et j'ai pu mettre en pratique une bonne partie.
Mais voilà, cela fait 2 jours que je me casse la tête avec une formule.
J'ai un fichier avec 2 feuilles:
feuil2 avec tableau comprenant des personnes avec leur poste du "jour", sur un cycle de 6 jours
feuil1 Des plannings vides.
Je souhaiterai, lorsque j'indique une date sur le 1er planning, que ce 1er planning se remplisse automatiquement, avec les noms des personnes correspondant au poste.
Et suite au remplissage de ce 1er planning, les 5 autres se remplissent.
J'essaie pas mal de formule à base d'INDEX EQUIV RECHERCHEV RECHERCHEH SI etc etc etc.
Mais le résultat est souvent le même, un N/A par ci , un EPARS par là.
Je vous avoue que je sèche complètement.
J'ai simplifié ma pièce jointe car elle comprenait beaucoup de brouillon.
Bonsoir,
votre fichier avec le tableau rempli "en dur" afin de nous montrer le résultat attendu serait le bienvenu
@ bientôt
LouReeD
Bonsoir,
Vraiment désolé !
J'ai refais le fichier avec 4 feuilles :
-2 bases de données (2 tableaux identiques, interprétés différemment).
-Planning (vierge pour mettre les formules)
- PlanningBrutRemplie (un exemple de résultat attendu, avec des notes en rouge pour que ce soit plus compréhensible).
J'arrive à organiser ma formule de façon "littéraire" :D.
SI la date du 1er tableau correspond à une date de la base de donnée, alors rechercher dans la colonne correspondant à la date indiqué, le poste(p*,p*²,pp*²,etc etc) dans un 1er temps, rechercher les initiales (soit par ligne ou par colonne en fonction de la base de donnée) qui lui sont attribué dans un 2nd temps.
Et quand j'essaie de disposer ça en formule, ça devient chaotique :( :
Par exemple:
=SI(Feuil1!B1='Base de donnée'!B5:G5;RECHERCHEV('Base de donnée'!B38;'Base de donnée'!A6:G35;1;FAUX);)
J'ai pleinement conscience qu'il manque une recherche de date,(mais recherche et date j'ai cru comprendre que c'était vide le bordel :D), ou si j'essaie d'aller plus loin, je tombe soit sur une erreur, soit plusieurs erreurs.
J'aimerai vraiment comprendre le fonctionnement, et la logique que j'aurais dû avoir.
Par la suite j'aimerai intégrer la prise en charge d'une base de donnée "absence".
Et encore après avoir une logique, en cas de vide , qui permet de faire basculer les personnes sur des postes plus prioritaires que d'autres.
Je souhaiterai attaquer le VBA une fois les formules "parfaitement" maitrisées :D
Mise à jour :
J'ai réussi à organiser l'affectation des noms aux postes .
=EQUIV(M1;'BD2'!B4:S4;1) me donne le numéro de colonne de la date concerné.
M1 étant le résultat de : =SI(RECHERCHEH(B1;'BD2'!B4:S34;1;0)=B1;B1;erreur)
=EQUIV('BD2'!A13;'BD2'!A5:A34;0) me renvoie le numéro de ligne du poste concerné.
=INDEX('BD2'!B5:S34;Feuil1!B7;Planning!N3;1) pour affecter les noms aux différents postes.
une fois le premier tableau complet, je recopie les formules du premiers que je dispose sur les 5 autres tableaux où j'ajoute +1, +2 ,+3 ,+4 ,+5 pour la colonne.
ex : =INDEX('BD2'!B5:S34;Feuil1!B13;Planning!N3+1;1)
Si la date n'est pas présente dans une base de donnée, alors le tableau renvoie des 0.
Bonsoir,
et bien je vous dis bravo !
@ bientôt
LouReeD
Ah quand j'aurais finalisé mon fichier excel, je le posterai ( en modifiant les noms etc etc). SI ça peut aider quelqu'un.
Je sèche par contre sur :
J'ai une colonne (N1:N27)
les cellule de cette colonne contiennent une formule : Si XXX est absent alors "XXX en CP (exemple d'intitulé d'absence) soit "=SI(Formules!I15<>1;"XXX "&Formules!I15;"") en N1.
Chaque cellule de N1:N27 vérifie la présence ou non de mon effectif. N1 pour XXX , N2 pour ZZZ etc etc
Pour X la cellule N1 me renvoie donc "XXX CP" (car il est absent tel date).
Pour Z la cellule N2 me renvoie "" (vide) (car il est présent tel date).
Je souhaiterai synthétisé cette colonne N1:N27 dans un autre emplacement. Je m'explique :
Car cette colonne N1:N30 affiche donc uniquement les personnes Absentes , pour les personnes présentes les cellules restent vide.
Par exemple sur ma 1ere date , j'ai 4 absents.
Donc N1:N27 ne comporte que 4 cellules renvoyant un résultat, les autres cellules restent vides.
Je souhaiterais résumer cette colonne, ailleurs, à partir de A13.
Pour l'exemple le rendu ressemblerai à : en A13 "XXX CP" (le résultat de N1)
en A14 "AAA" Abs (le résultat de N6)
en A15 "OOO" CP (le résultat de N17)
en A16 " CCC CP" (Le résultat de N22)
les cellules vides sont ignorées et ne sont pas affichées.
Donc ma question : comment résumé la colonne N1:N27 à partir de A13 de façon à afficher à la suite uniquement les résultats qui ont répondu positivement à mon test en N1:N27?
=INDEX($N$1:$N$27;PETITE.VALEUR(SI($N$1:$N$27<>"";LIGNE(INDIRECT("1:"&LIGNES($N$1:$N$27))));LIGNES($1:1))))
cette formule m'affiche bien à la suite les résultats positifs de N1:N27 en A13 A14 A15 A16. Mais le souci c'est qu'après pour les résultats négatifs, les cellules (à partir de A17) affichent #NOMBRE!
Mais je ne veux pas voir ces #NOMBRE! Je souhaiterai conserver ces cellules vides. (car esthétiquement parlant pour 4 résultats positifs , j'ai 23 #NOMBRE! c'est pas "beau à voir")
Bonjour,
Utilisez la fonction SIEREUR :
=SIERREUR(LAFORMULE ; "Ce qu'il fzut zfficher")
Si rien afficher alors un bouble guillemets.
@ bientôt
LouReeD
Merci beaucoup !
Je modifierai mon classeur pour poster les résultats très prochainement.