Tableaux croisés dynamiques, la fonction de calcul par défaut, Nombre ou Somme ?

Un lecteur m'a récemment posé une question sur la fonction de calcul par défaut utilisé par Excel.

Par exemple, si vous prenez les 3 tables suivantes :
3 tables

Et que vous créez les tableaux croisés dynamiques sur chacune des 3 colonnes, vous obtenez :
3 TCDs

On voit donc que si la table alimentant votre TCD contient une cellule vide ou même du texte, la fonction proposée par défaut sera "Nombre", par contre, s'il n'y a que des nombres, la fonction proposé sera "Somme".

Ca reste assez logique, mais ca peut être déroutant au départ, d'autant qu'une somme sur une plage avec des cellules vides peut aussi très bien fonctionner.

A bientôt.

Gaetan

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