Le vendredi 25 juin 2010 06:45:31, Alex Chines a écrit :
> Le 23 juin 2010 18:45, gabriel <jourdain-gabr...@orange.fr> a écrit :
> > Le mercredi 23 juin 2010 04:05:37, Alex Chines a écrit :
> > > Mon but, comme j'expliquais tout à l'heure, est de filtrer uniquement
> > > les semaine. :/
> >
> > Re
> >
> > tu nous a mis sur la voie du filtre, mais tu peux t'en affranchir en
> > passant
> > par des formules. En plus ça s'actualise tout seul. Voir fichier joint :
> >
> > les données du planning sont sur la feuille2
> > les bornes maxi et min se définissent en C2 et D2 et la plage s'actualise
> > automatiquement lorsqu'une valeur change en C2 ou D2.
> >
> > Cordialement
> >
> > Gabriel.
> 
> Re-salut :)
> en effet cette solution atteint sa limite à la semaine 47, car après cette
> semaine on change d'année.
> je pensais de modifier la formule en D2 (feuille1) de façon suivante
> =SI($C$2+5>52;$C$2-47;$C$2+5)

Ça me parait correct j'irai voir à tête reposée.

> 
> et dans les formules des semaines de changer la condition d'affichage en
> quelque chose comme ça
> =SI($C$2<47;{ta formule par
> entier};SI(ET(DECALER(Feuille2.$A5;EQUIV($C$2-1;$Feuille2.$A$5:$A$56);COLON
> NE()-1)>$D$2;DECALER(Feuille2.$A5;EQUIV($C$2-1;$Feuille2.$A$5:$A$56);COLONN
> E()-1)<$C$2);"";{reste de la formule})
> 
> Je ne sais pas si ça peut marcher, dés que j'aurai un peu de temps
> j'essayerai.
> Je dois "seulement" comprendre la raison pour laquelle dans la fonction
> DECALER il faut enlever 1 à la valeur de la ligne et de la colonne... :/

Pour la colonne:
Le numéro de la première colonne est 1 et je veux un décalage de zéro.Donc si 
je fais DECALER(x;COLONNE();LIGNE()) x sera décalé d'une ligne et d'une 
colonne d'où -1

Pour la ligne:
Parce que j'ai fais une erreur dans la définition de la plage Feuille2.A5:A56 
qui aurait dû être Feuille2.A4:A56. Effectivement avec cette référence erronée 
il est aussi impossible d'afficher la semaine 1. J'ai fais ce constat juste 
après l'envois du fichier, il est déjà corriger. Je le joins à cette réponse. 
J'ai aussi supprimer la fonction T() pour permettre aussi l'affichage de 
valeurs numériques en place des astérisques (*)

Pour comprendre facilement la syntaxe de la formule il faut juste comprendre 
que :

DECALER() affiche une valeur décalée de X lignes et X colonne par rapport à 
une cellule de référence.
  
DECALER(A1;2;2) m'affichera le contenu de la cellule C3

EQUIV() recherche une valeur dans une matrice (ligne ou colonne) et retourne 
le numéro de ligne de cette valeur

supposons une matrice de A100 à A120 dans laquelle on écrit 1.2.3.4.5...etc

EQUIV(5;A100:A120) retournera la valeur 104 qui est le numéro de ligne de la 
valeur 5.

Donc pour résumer : dans notre fonction DECALER() la valeur qui doit être 
décalée n'est pas statique puisqu'elle change toutes les semaines. On effectue 
donc un décalage par rapport au numéro de ligne de la valeur recherchée en 
utilisant EQUIV().

A+

Attachment: SansFiltreCorrige.ods
Description: application/vnd.oasis.opendocument.spreadsheet

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: users-h...@fr.openoffice.org

Répondre à