Gérer les dates avec la fonction DECALER – Etape 2 (la fonction DECALER)


Articles précédents:
 
Pour bien construire notre fonction DECALER, nous allons tout d’abord essayer de comprendre le comportement du décalage nécessaire.
Voici notre première ligne (j’ai changé le format du jour pour plus de lisibilité) :
 
La première plage doit être commencé en $D$10, avoir une hauteur de 1 et une largeur de 7.
La seconde plage doit commencer en $K$10, avoir une hauteur de 1 et une largeur de 7.
Pour rappel, la fonction DECALER doit avoir les paramètres suivants :
=DECALER(Réf ;lignes ;colonnes ;[hauteur] ;[largeur])
Réf. :
Pour simplifier, notre cellule de référence commencera en $A$8.
 
Ligne :
Il faudra décaler à chaque fois d’une ligne vers le bas lors que nous changerons d’employé. Pour cela nous utiliserons la formule suivante :
=LIGNE()-8
Nous calculons le nombre de lignes entre la ligne des date (ligne 8 de la feuille « Input ») et la ligne de l’employé.
 
Colonne :
Il faut donc décaler le début de la plage à partir de la colonne où nous trouvons la première date de la période. Cela signifie que pour la seconde plage, il faut décaler à droite jusqu’à ce que nous trouvions la date du 02/09/2010.
Nous utiliserons la formule suivante :
=EQUIV(C8;Input!8:8;0)
 
Hauteur :
La hauteur sera toujours de 1 cellule
 
Largeur :
Comme dit plus haut la largeur sera de 7 cellules. Mais nous pouvons aussi considérer que la largeur correspond à la différence entre les deux premières dates de périodes qui se suivent. Par exemple, la différence entre le 02/09/2013 et le 26/08/2013. Cela pourra être très utile lorsque nous souhaiterons paramétrer nos périodes (Mois ou Semaine par exemple).
Formule finale:
Donc en cellule $C$10, nous aurons la formule suivante (avec mise à jour des caractères ‘$’ pour faire glisser la formule en $C$10:$E$19 :
=NB.SI(DECALER(Input!$A$8;LIGNE()-8;EQUIV(C$8;Input!$8:$8;0)-1;1;Aux!D$8-Aux!C$8); »I »)
Ensuite, vous pouvez faire glisser en $C$10:$E$19.
Vous aurez le résultat suivant :
 
Il y a une erreur en colonne ‘E’ car aucune date n’est renseignée en $F$8 et nous avons besoin de cette date pour connaître la largeur de la plage. Il suffit donc de remplir cette cellule pour que le problème soit résolu :
 
Nous allons maintenant réaliser la synthèse de l’ensemble dans la prochaine étape qui sera le dernier article de la série.

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *