Monsieur Excel
Pour tout savoir faire sur Excel !

09 février 2018

Simulation de dés (c)

Dans l’article précédent, nous expliquions qu’Excel avait la particularité – lors du calcul d’un classeur – de n’effectuer que les calculs qui, selon lui, étaient nécessaires.

Il y a une autre chose fondamentale, concernant le calcul par Excel, qu’il faut savoir. C’est qu’Excel ne peut pas calculer toutes les cellules à la fois, il faut bien qu’il procède par ordre. Et cet ordre est le suivant :
  • Excel calcule ligne par ligne, du haut vers le bas ;
  • dans chaque ligne, Excel calcule de gauche à droite.
Bien entendu, quand les formules l’y obligent, Excel est un peu obligé d’aller voir ailleurs pour les évaluer, mais cela lui complique la tâche.

Ceci explique qu’un modèle où chaque formule ne dépend que de cellules placée au-dessous d’elle et/ou à sa gauche se calcule plus vite qu’un modèle où cette règle n’est pas respectée.

Reprenons notre dernier modèle :


Quand nous débutons le calcul de l’itération n°10 en calculant la ligne n°1, toute la partie du modèle ci-dessus placée en dessous, c’est-à-dire l’ensemble des lignes 2 à 7, se trouve encore en l’état de l’itération n°9. Donc le compteur en B3 est toujours à 9. C’est pour cela que le pourcentage en F2 – et celui en F1, mais on ne le voit pas ici car il est nul – est obtenu en divisant la valeur de la colonne E par 9.

Quand le calcul passe à la ligne n°3, B3 passe à 10 et les pourcentages de F3 à F6 sont tous justes.

Quand le calcul passe à la ligne n°4, B4 passe à 3, mais ce dé est ignoré car le test en E2 pour vérifier si l’on avait obtenu un 3 a déjà été calculé. On perd donc le dixième dé quand celui-ci est un 1, un 2 ou un 3 car, dans ces cas, le dixième test en E1, E2 ou E3 ne peut s’effectuer.

Le remède est donc tout simplement de déplacer le bloc D1:F7 d’au moins 3 lignes vers le bas de façon que, désormais, tous les calculs s’effectuent bien du haut vers le bas, et de gauche à droite.

Voici le résultat d'une nouvelle simulation :


Remarque – La morale de l’histoire est que, même si Excel – avec la fonction alea() et le calcul itératif – vous permet de créer un modèle de simulation stochastique (joli mot pour dire aléatoire), vous devez prendre un certain nombre de précautions pour être sûr que ce modèle obtienne des résultats exacts !