Monsieur Excel
Pour tout savoir faire sur Excel !

13 juin 2018

Un autre bug de table (a)

Les deux articles précédents ont inspiré un de nos lecteurs, Philippe Monin, qui a découvert un bug tout à fait original, lié lui aussi aux tables dans Excel. Je n’avais encore jamais rencontré ce bug mais il faut reconnaître qu’il est lié à un concours de circonstances tout à fait improbable.

Il faut en effet que trois conditions soient réunies pour que le bug « fonctionne ». Si tant est que l’on puisse dire qu’un bug peut fonctionner…

Il faut une table, ici le bloc C1:C4.

Il faut une formule faisant référence à la table et au moins à une cellule en dessous, ce qui est ici le cas de la formule =somme(C2:C5) de la cellule B6.

Il faut enfin – troisièmement – qu’il y ait une zone de filtre logée dans une autre colonne. C’est ce que nous avons fait avec A1 à qui nous avons appliqué la commande « Filtrer » du ruban Données.


Maintenant que tout est en place, vous pouvez réaliser l’expérience… Copiez la cellule D9, qui contient la valeur 13, cliquez en C3 et collez. Et, oh miracle, au lieu de prendre la valeur 13, la cellule C3 prend la valeur 7, qui correspond au contenu de la cellule en dessous !!!

Si une seule des trois conditions présentées ci-dessus n’est pas présente, le bug ne survient pas !!!

Mes félicitations à Microsoft, qui a réussi à inventer un bug particulièrement original, et à Philippe dont le travail d’apothicaire a réussi à isoler ce problème totalement original !

Remarque – Nous ferons quelques remarques complémentaires dans le prochain article.

05 juin 2018

Un bug de table (b)

Dans l’article précédent, nous avons montré comment construire un exemple simple illustrant un problème original avec une table de données.

Le problème provient de la formule de la cellule K2 : =$B$3 fait en effet référence à la valeur de départ de 150.

La difficulté, c’est que cette cellule précisément représente le point de départ de la table. Quand le calcul de la table se déroule, cette valeur de départ est en fait remplacée au fur et à mesure par les valeurs de K3 à K6. Excel ne sait donc plus bien où donner de la tête…

La meilleure preuve, c’est que si l’on entre 150 en K2, la table fonctionne parfaitement et les valeurs de le colonne L sont identiques à celles de la colonne N.

Dans la table originale, nous avions constaté que les résultats en L2 et L3 étaient bons. Le résultat en L4 était décalé d’une valeur, celui en L5 de deux valeurs et celui en L6 de trois valeurs !

Il est évident que ces décalages proviennent du fait que, la formule originale de K2 provoquait en fait une sorte de référence circulaire quand on créait la table. Ce que je ne peux pas expliquer, c’est pourquoi l’on observait ces décalages de 0 ligne, 1 ligne, 2 lignes, 3 lignes…