La fonction Indirect permet de transformer un texte en référence de plage de cellules
Code:
=INDIRECT("A1")
renvoie la valeur de la cellule A1
Code:
=SOMME(INDIRECT("A1:B12"))
renvoie la somme des valeurs de A1 à B12
L'intérêt est que comme il s'agit de texte, il est possible de modifier un numéro de la référence en se basant sur un calcul par exemple, et donc de construire une référence variable
Je réponds tout d'abord à ton dernier message sur l'autre fil, mais tu aurais du rester sur la même discussion:
Par contre j'aurai aimé que certains jours appartenant au mois précédent soient pris en compte.
Je m'explique: par exemple le mois de Juillet début avec le lundi 28, le mardi 29 et le mercredi 30 Juin mais le nombre de personnes présentes ne s'affiche pas.
Es-possible de remédier à ce problème???
Sauf erreur de ma part, ce problème n'existe pas. Dans ton exemple, il n'y a pas de feuille "JUIN2010" donc aucun résultat à afficher. Si tu crées la feuille correspondante, les résultats devraient apparaître.
C'est la définition de "NomF" qui correspond au nom de la feuille.
Le nom varie en fonction de la ligne sur laquelle on se trouve. Si l'on est en ligne 10 de la feuille "DET HORAI", on va chercher le mois et l'année de la date en colonne C de cette ligne pour constituer le nom de la feuille.
Ex: en C10 on a "Samedi 3 juillet", le mois complet sera obtenu avec la fonction TEXTE et le format "mmmm" et la fonction MAJUSCULE va le mettre en majuscules soit: "JUILLET" et l'on ajoute l'année pour avoir "JUILLET2010" comme nom de feuille.
Le nom "Nosem" correspond au numéro relatif de la semaine, 0 pour la première, 1 pour la deuxième etc.
Cette formule définit la plage PSEM1:
On decale la cellule B5 de la feuille du mois par ex "JUILLET2010!$B$5" de 0, 22, 44 etc lignes selon la semaine car il y a 22 lignes au total pour une semaine dans la feuille du mois puis de 4 fois le n° du jour en commencant à 0 pour le lundi car il y a 4 colonnes par jour, on conserve une hauteur de 19 lignes et une largeur d'une colonne.
va servir:
1 - à ne rien mettre dans la cellule si la feuille n'existe pas
2 - Si OK, on compte le nombre de "9:00" dans PSEM1 qui est la plage du jour de la colonne C.
Dans les autres colonnes, on décale la plage de 1 2 ou 3 colonnes pour gérer les différentes heures:
ex: pour 12h-13h:
Code:
NB.SI(DECALER(PSEM1;;1;);">12:00"))
, la plage est décalée d'une colonne pour considérer la 2ème colonne du jour au lieu de la première.
Voilà, j'espère que c'est à peu près clair. Ajoute une feuille pour le mois de JUIN2010 avec quelques chiffres et tu devrais voir les résultats dans le détail horaire.