Appeler la cellule d'une autre feuille du classeur

Bonjour à tous !

Pour mes projets d'études je suis en train d'essayer de créer un dossier pour le suivi d'heures supp et congés payés des employés qui aboutirais à la réalisation automatisé d'un bulletin de paie.

Dans ma cellule F10 de la feuille bulletin de salaire je voudrais faire la somme des congés pris sur le mois que j'ai renseigné en D2 de cette même feuille en prenant aussi en compte le nom du salarié que j'ai renseigné en B2.

La partie où je bloque est d'aller chercher dans une autre feuille la somme des congé pris sans dans ma formule cliquer directement dans la feuille du mois qui m'intéresse puisque ca m'obligerais à changer les formules à chaque fois que je voudrais faire le bulletin d'un nouveau mois ...

J'ai l'impression de ne pas être claire du tout mais j'espère que vous comprendrez car je ne sais pas comment formuler ma demande autrement

(PS: Si quelqu'un s'y connais en création de bulletin de paie je suis preneuse car j'ai fait les formules du bulletin en me basant uniquement sur mes quelques connaissances (qui sont assez faibles ..))

Bonjour,

Ci-dessous une formule adaptée à votre problématique dès lors que les feuilles ont bien le même nom que la valeur de la cellule D2 et que la plage des mois s'étend de C a AG de chaque feuille :

=NB.SI(INDIRECT(CONCATENER(D2;"!";"C";EQUIV(B2;INDIRECT(D2&"!B:B";VRAI);0);":AG";EQUIV(B2;INDIRECT(D2&"!B:B";VRAI);0));VRAI);1)

Cdlt,

Bonjour,

Ah, j'allais me mettre sur le coup. J'essaie de voir si on peut faire autrement encore, juste pour le fun.

@Axelle. Heureusement qu'il n'y a pas 25 salariés, hein ?

Bonjour JoyeuxNoel,

N'hésites pas ! Je suis toujours à la recherche de solutions alternatives qui me permettent sans cesse de m'améliorer et traiter les problématiques plus rapidement ! En plus vous (les membres actifs) avez toujours des contournements auxquels je ne pense pas. C'est très instructif et je ne peux que vous en être reconnaissant !

Cdlt,

@Ergotamine :

J'avais cru comprendre cela, c'est pour ça que je me permets régulièrement de repasser derrière toi. En plus souvent t'as dégrossi le boulot, c'est cool

@Axelle : Tu ne veux/peux pas prendre la valeur qui est dans la colonne AH de chaque feuille ? Ça serait plus simple et plus logique, non ?

Du coup je ferais comme ça, si on peut effectivement utiliser la valeur en AH :

=INDIRECT(D2&"!AH"&EQUIV(B2;INDIRECT(D2&"!B1:B23");0))

Je ne pense pas qu'on puisse utiliser le NB.Si car des fois il y a 2 dans la cellule. Je ne sais pas pourquoi d'ailleurs. Axelle pourrait nous en dire plus.
En fait non, les 2 sont sur une autre ligne. Mais du coup je comprends encore moins la fonction d'origine d'Axelle.

Mais du coup en fait je fais exactement la même chose que toi. Juste, j'évite la fonction concaténer qui ne sert à rien. Autant user du &, qu'on retrouve en VBA aussi.

Si tu veux, je peux te faire une version avec DECALER ^^

Bonjour JoyeuxNoel,

La situation est exceptionnelle alors j'en profite pour optimiser mon temps et m'améliorer grâce à vos connaissances. Les miennes ne sont pas suffisamment poussées.

Le truc c'est qu'en AH on a pas que les CP .. C'est pour ça que je suis parti sur un NB.SI en fonction de la légende du motif d'absence en ligne 2.
Les 2 ne sont pas des jours, mais des heures supplémentaires acquises je pense, du peu que je connais du domaine RH.

Cdlt,

Edit : Moi j'aime bien les CONCATENER pas de discrimination ! Non en vrai dans les formules assez longues je trouve ça pratique car ça sépare les différents termes qu'on peu isoler via un simple clic sur l'intelissense de la formule et permet d'investiguer plus facilement à mon sens.

Merci beaucoup pour la formule !!!

Joyeux Noel : En effet ca serais beaucoup plus simple mais les valeur qui sont dans AH prennent en compte toutes les absences ( que ce soit pour formation; chômage partiel ou autre ) et ce que je recherche est le nombre de congés payés pris ...

J'avais pensé à faire la formule dans une colonne dans chaque feuilles de calcul mais c'est un dossier que je vais devoir présenter à l'oral et pour cet examen ils nous demandent d'être le plus synthétique possible.

et oui ! Heureusement que je suis dans une toute petite entreprise, ça facilite les choses parce que la formule que j'avais essayé de faire aurait été vachement longue pour une vingtaine de salariés ...

Exact, j'ai édité mon post, j'avais mis n'importe quoi.

" Les miennes ne sont pas suffisamment poussées."
Je ne sais pas ce que tu veux maîtriser au final, mais t'es déjà très bien parti et tu t'en sors très bien, t'inquiète !

Oui j'ai vu après avoir posté mon message que vous aviez modifié le votre. En effet j'ai une ligne où je renseignes le motif des absences, les deux autres lignes me servent à inscrire le nombre d'heures supplémentaires effectuée et à savoir si elles ont été récupérées.

Je voulais vous demander comment traduire la première fonction que Ergotamine m'a donnée ... car j'arrive a peu près à comprendre comment elle fonctionne sauf pour les "INDIRECT" que je ne connais pas du tout

re,

Du coup, normalement cette fonction donne la même chose :

=NB.SI(DECALER(INDIRECT(D2&"!C7:AG7");EQUIV(B2;INDIRECT(D2&"!B8:B50");0););1)

Pour le INDIRECT, je laisse l'auteur l'expliquer ;)

Bonjour,

Alors je vais détailler : INDIRECT permet de convertir du texte en référence compréhensible par Excel. Par exemple, D2&"!B:B", renvoie Janvier!B:B si D2 = Janvier. Dans ce cas INDIRECT associé à l'argument VRAI permet de renvoyer la référence de ce texte. EQUIV renvoie donc le numéro de ligne où se trouve le salarié dans la colonne B2, soit dans votre exemple 8. Que je concatène pour avoir Janvier!C8:AG8 que je traduis alors en référence Excel via INDIRECT et VRAI.

Ensuite je compte simplement les 1 dans la plage (donc traduite via INDIRECT) "Janvier!C8:AG8"

=NB.SI(INDIRECT(CONCATENER(D2;"!";"C";EQUIV(B2;INDIRECT(D2&"!B:B";VRAI);0);":AG";EQUIV(B2;INDIRECT(D2&"!B:B";VRAI);0));VRAI);1)

@JoyeuxNoel : Habile le coup du DECALER, je l'utilise rarement hormis les noms de plages dynamiques il faudrait que j'y pense plus souvent, Bravo !
PS : Je souhaite tout maîtriser :)

Ca marche, je vous remercie en tout cas, car si pour vous, répondre à mes question est simple, pour moi vous êtes d'une aide précieuse !

Je continuerai de travailler sur ce dossier demain car pour moi c'est l'heure de partir du bureau ( Oui oui j'ai la chance de finir tôt )

Je vous souhaite une bonne fin de journée !

Bien dit Ergotamine !
Dans ce contexte, je trouve la fonction DECALER plus appropriée. Elle permet de partir d'une plage directement et de la décaler, et est souvent un poil plus courte. Mais c'est surtout une question d'habitude.

Merci pour l'explication !!

J'ai finalement choisie la formule de Joyeux Noel avec une petite modification car dans le cas où un salarié pose seulement une demi journée que je renseigne par un 0.5 dans mon tableau, la demi journée n'était pas prise en compte comme je le voulais. J'ai donc décidé d'utiliser la fonction suivante :

=SOMMEPROD(DECALER(INDIRECT(D2&"!C7:AG7");EQUIV(B2;INDIRECT(D2&"!B8:B50");0);))

Est ce qu'elle vous semble correcte ?

Bonjour Axelle, Ergotamine !

Oui, c'est parfait ainsi. Bien joué.

Par contre, tu gagnerais à créer une liste déroulante pour tes mois sur ton bulletin de salaire. Et à nommer correctement tes onglets (genre l'accent sur février).

Merci du conseil !

Je comptais m'en occuper mais la pour l'instant j'essaie d'automatiser au maximum mon bulletin de salaire avant de faire les mises en forme pour être sûre de pas perdre trop de temps vu que c'est un dossier que je vais devoir présenter pour mes examens dans peu de temps... Ca serait bête de présenter un beau dossier qui serait incomplet

Rechercher des sujets similaires à "appeler feuille classeur"