328
Chapitre 15 • Un tableur type : EXCEL
chaque action que l’utilisateur peut demander correspond une instruction de format
déterminé. Le langage de macros a cependant été enrichi d’instructions et de constructions qui en font un langage de programmation procédural complet : boucles,
alternatives, variables locales, passage d’arguments, manipulation d’adresses de
cellules, interaction avec l’utilisateur, communications avec l’environnement, etc 5 .
Une macro peut prendre deux formes. La première, ou macro proprement dite,
définit une commande qui s’ajoute à celles déjà proposées par EXCEL. La seconde,
appelée fonction macro, ou fonction personnalisée, définit une nouvelle fonction
qui s’ajoute à celles offertes par EXCEL et peut à ce titre être utilisée dans des
formules.
15.12 LES RÉSOLVEURS AVANCÉS
Ces nouveaux processeurs enrichissent considérablement la palette d’outils de résolution offerte par les tableurs traditionnels. Ils permettent en effet d’aborder des
problèmes qu’il serait malaisé d’exprimer à l’aide du schéma données, résultats,
formules de calcul utilisé jusqu’ici. Nous en citerons deux, la fonction de la valeur
cible et le solveur.
15.12.1 La valeur cible 6
Considérons une cellule C2 contenant une formule qui référence, directement ou
non, la cellule C1 qui contient elle-même une constante. En fonctionnement normal,
C1 reçoit une valeur (une donnée) et le tableur calcule, entre autres choses, la valeur
de C2 (le résultat). Ce comportement répond aux questions du type suivant : quelle
est la valeur de C2 étant donné la valeur de C1? La fonction EXCEL de valeur cible
permet de poser le problème inverse : quelle devrait être la valeur de C1 pour que C2
ait une valeur déterminée? En se reportant au tableau 14.3, il serait possible de
demander à EXCEL la valeur des sorties de 2006 (D3) qui rendrait le total des soldes
(E5) égal à 20.
15.12.2 Le solveur
Le solveur d’EXCEL est un résolveur d’équations, ou plus précisément un optimiseur exploitant des techniques de programmation linéaire et non linéaire.
Très schématiquement, il fonctionne comme suit. On considère un modèle de
calcul dans lequel on repère une cellule résultat R, dite cellule cible, et des cellules
de données Di, dites cellules variables. Le solveur résout les problèmes du type
suivant :
5. Ces fonctions peuvent aussi être écrites en Visual Basic. A partir d’Office 2000, Microsoft
généralise l’usage d’une version unique de VB for Application pour le développement de composants procéduraux dans ses logiciels bureautique.
6. Ou goal-seeking en anglais.
Précédent

- 328/436

Suivant