Gestion du stock des produits radioactifs avec XL-Plot.

 

s'abonner 

L'ASN (Autorité de Sûreté Nucléaire) demande aux laboratoires qui détiennent des éléments radioactifs de pouvoir dire à chaque moment le total de la radioactivité présent dans l'établissement. Il paraît que les registres qui permettent d'établir ce stock en radioactivité ne suffisent plus et qu'un dispositif informatique est devenu quasiment obligatoire. Malheureusement les Personnes Compétentes en Radioactivité (PCR) de l'INSERM et du CNRS ne peuvent pas (encore) se servir d'un logiciel homologué par l'ASN ou par leur employeur.
Pour éviter que les PCRs des laboratoires de recherche en France inventent, chaque dans son coin, une solution plus ou moins utilisable, je propose le tableur faisant partie de XL-Plot et qui contient quelques fonctions spécialement conçues pour l'occasion.

 
Télécharcher l'exemple avec documentation ci dessus : "stock.zip"
 
Le plupart des fonctions du tableur de XL-Plot ressemblent beaucoup à celles d'Excel. Les trois fonctions figurant dans l'exemple "stock.txt" qui en font l'essentièl sont :

Cell(cnum ; lnum) retourne le contenu de la cellule à la colonne cnum et ligne lnum. La particularité ici est que cnum et lnum peuvent être des nombres, des références à d'autres cellules ou encore des fonctions. Donc les indices de colonne et de ligne utilisés par Cell() peuvent être le résultat d'un calcul.

GetLNum(cnum ; num) retourne le numéro (index) de la ligne qui contient la valeur le plus proche de num en cherchant dans colonne cnum. Dans l'exemple "stock.txt" cette fonction est utilisée pour trouver le temps de demie vie d'un élément et de trouver la quantité restant d'un produit particulier.

Somme((plage);condition;[cellule]) est dérivé de Somme(plage). La dernière fonction calcule la somme des valeurs contenu dans la plage des cellules plage (rien de spécial). La première fonction demande deux paramètres supplémentaires. Cellule représente la cellule supérieure gauche d'une autre plage avec les mêmes dimensions que plage de sorte qu'à chaque élément de la première plage correspond une cellule dans la seconde plage. Si le contenu de la cellule de la deuxième plage satisfait la condition, condition,(par exemple ">2"), alors le contenu de la cellule de la première plage contribue à la somme. Bref, Somme((plage);condition;cellule) fait la somme conditionnelle. Celle-ci permet de mélanger des produits d'éléments radioactifs différents dans la même colonne et pouvoir néanmoins déterminer des sommes triées par élément. Il n'est donc pas nécessaire de maintenir une feuille de calcul différente pour chaque élément.

Prenons un exemple concret de la feuille stock.txt. Pour calculer la radioactivité à la date t (A0 est la quantité de la radioactivité en MBq dans le pot j, contenant radioélément i à la date t0j) :

la formule dans la cellule [C15:L2] contient :
=[C12:L2]*exp(-float([C4:L$8]-[C14:L2])/cell(4;getlnum(1;[C17:L2])))

La fonction float retourne la différence en jours entre la dates actuelle dans la case [C4:L8] et la date de référence (t0) marqué sur le produit radioactif.
La case [C17:L2] contient le numéro de l'élément, 5 dans le cas échéant.
Getlnum(1;[C17:L2]) cherche le numéro de la ligne de la case dans la colonne 1 qui contient un 5, c'est la ligne 6 dans ce cas.
Cell(4;getlnum(1;[C17:L2]))), donc cell(4;6), retourne le tau, en jours, du temps de dégradation de l'élément 5 (32P).
Bref, case [C15:L2] contient donc la radioactivité en MBq qui resterait dans le pot numéro 16 s'il n'était pas entamé jusqu'aujourd'hui.

Cet exemple est expliqué en plus de détail dans le fichier AideXL.doc qui vient avec le logiciel.

J.R.de Weille, Montpellier,