Monsieur Excel
Pour tout savoir faire sur Excel !

24 octobre 2013

Une fonction perso « illégale »

Dans l’article précédent, nous avons montré qu’un simple survol d’une cellule par la souris pouvait provoquer la fermeture – sans sauvegarde ! – d’Excel.

Cela fonctionnait grâce au fait que – en combinaison avec la fonction lien. hypertexte() – on pouvait utiliser une fonction personnalisée pour modifier le contenu d’une autre cellule, ce qui est en théorie illégal pour Excel.

Rick Rothstein en a fait une illustration que nous avons exploitée dans l’exemple ci-dessous.

On entre une valeur dans la cellule B3. La cellule C3 contient la formule =docool(B3) et la cellule C4 est vide.


Quand on saisit une valeur en B3, le message en C3 est modifié en conséquence (là, c’est normal car il y a une formule) mais aussi – en même temps ! – le message correspondant à notre exemple ci-dessus apparaît dans la cellule C4.

Ce message est le résultat de la fonction evaluate situé en bas de la fonction personnalisée.

Voilà donc comment, via une fonction personnalisée et à l'aide de la fonction lien.hypertexte(), on parvient à modifier le contenu d’une cellule quelconque. En toute illégalité, selon les principes d’Excel !