Remarque 1 – Même si je prends
dans cet article l’exemple du modèle de location analysé dans les articles
précédents, ce que je vais dire concerne l’utilisation des tables de façon
totalement générale. Vous avez donc intérêt à lire l'article de ce jour même si l’exemple de
locations d’appartements ne vous intéresse pas…
Dans
l’article du 4 novembre, nous avons vu comment affiner notre analyse du
problème de location d’appartements en réalisant deux tables d’hypothèse, une
table « à une dimension » dans laquelle nous analysions les valeurs
de deux variables, la marge brute et la rémunération et une table « à deux
dimensions » pour la seule rémunération.
Comme
je l’indiquais dans cet article, la coexistence des deux tables multiplie par
877 le temps de calcul du modèle, ce qui peut rapidement devenir insupportable
pour un modèle plus lourd.
Quand
je réalise des tables pour les modèles de mes clients en conseil, je m’efforce
d’éviter de tomber dans cette situation. En fait, quand je crée une table, je
lui associe en général un bouton macro permettant de lancer la création et le
calcul de la table. Cela ne pose en général pas de problème car, le plus
souvent, on n’a pas besoin qu’une table reste « dynamique »,
c’est-à-dire se calcule en permanence : on a simplement envie de la
consulter à la demande.
J’enregistre
donc une macro dans laquelle je réalise les opérations suivantes :
- création de la première table ;
- sélection de l’intérieur de la table puis copie ;
- collage spécial des valeurs ;
- [Esc], pour ôter le liseré du copier/coller ;
- clic dans le coin supérieur gauche.
J’obtiens
alors la macro ci-dessous, que j’ai appelée « Table_enreg ».
Comme
vous le constaterez aussitôt si vous connaissez un tant soit peu le VBA, cette
macro fonctionne très bien mais n’est pas particulièrement efficace.
Après
quelques retouches, j’obtiens alors la macro « Table_1 », qui est bien
plus courte et performante.
Remarque 2 – Un pro du VBA
remplacerait immédiatement les coordonnées utilisées dans la macro par des
noms, afin que la macro continue à fonctionner si l’utilisateur insère ou
détruit des lignes ou des colonnes.
Remarque 3 – Il ne reste plus
qu’à créer un bouton macro en utilisant la commande « Insérer » du
bloc « Contrôle » de l’onglet « Développeur », en prenant
le bouton macro du bloc « Formulaires » et en l’associant à la macro
« Table_1 »…
Remarque 4 – Notez comment nous avons évité de copier/coller les valeurs, ce qui nous a permis en prime d'éliminer la commande (CutCopyMode) ôtant le liseré du copier/coller ainsi que la sélection finale de H2.
Aucun commentaire:
Enregistrer un commentaire