Cumul d’horaires

Cette question m'a été posé récemment par un lecteur :
Comment cumuler des heures et ajouter 7:48 pour les cellules contenant JF (pour jours fériés).
Voici le fichier correspondant

La première chose est de se souvenir de changer le format de la cellule pour afficher les heures supérieures à 24 :
XL 97-2003 : Format - Cellules - Onglet Nombre, choisir Personnalisée et taper [hh]:mm
XL 2007 : vous pouvez cliquer en bas à droite de la zone contenant les mises en formes pour afficher cet onglet :
Affichage Format de cellule sous XL 2007

Reste à s'occuper de la formule : =SOMMEPROD((B2:B6="JF")*("7:48"))+SOMME(B2:B6)

Il s'agit en fait d'une formule sommeprod qui va créer une première matrice de chiffres renvoyant VRAI si le contenu de la cellule est égale à JF et FAUX s'il est différent de JF :
{FAUX;FAUX;FAUX;VRAI;FAUX}
Comme on multiplie ensuite ce résultat par "7:48", le VRAI est transformé en 1 et le FAUX en 0.
D'où l'équivalent de :
{0;0;0;0,325;0}
0,325 correspondant à "7:48"*1

Il ne reste plus ensuite qu'à y ajouter la somme des autres cellules.
SOMME(B2:B6)

A bientot.

Gaetan Mourmant

Bug de calcul dans Excel 2007

Bonjour à tous,

Comme reporté sur plusieurs blogs en Anglais et sur celui de Microsoft France, un bug affecte le calcul très spécifique suivant (uniquement sur Excel 2007) :

=850*77,1 et
=850*77,1+1

qui affiche 100 000 et 100 001 au lieu de 65 535 et 65 536, mais la valeur "réelle" de la cellule contient cependant 65 535 (par exemple, si vous additionner 2 à ce résultat, vous obtenez une valeur correcte 65 537)

Donc, le bug ne "fonctionne" pas sur
=850*77,1+2
ne touchant ainsi que ces deux nombres.

Il y a d'autres manières de retomber sur ces "bad numbers" :
=5,1*12850
=10,2*6425
=20,4*3212.5
=40,8*1606.25
=77,1*850
=154,2*425
=212,5*308,4
=308,4*212,5
=425*154,2
(tiré d'un site dont je n'ai compris que les nombres 😉 : http://www.sucirst.com/index.php/news/36

A priori, les conséquences d'un tel bug sont très limitées, d'autant qu'un calcul sur la cellule renvoie la bonne valeur (sauf si c'est 65536 calculé à partir d'un faux 65535), mais bon...

Microsoft travaille à un patch

A bientot.

Gaetan Mourmant