Dans
mon premier billet sur ce blog (le 23 octobre dernier), j’avais parlé de
cette manipulation courante qui consiste à recopier jusqu’au bas d’une
colonne ce qu’on a saisi dans la première cellule tout en haut : une
valeur fixe pour toute la table ou bien une formule par exemple. J’avais
exposé des raccourcis qui permettent de faire ça rapidement au clavier
puis j’avais conclu en annonçant que j’aborderais plus tard cette
manip-là sous un angle VBA. C’est ce que je fais aujourd’hui !
Une
fois qu’on a sous la main une macro qui fait ça, remplir une colonne va
très vite. Et pour peu qu’on déclenche cette macro par une très brève
séquence de touches, ça ressemble à ce mouvement du jeu Tétris : la
chute rapide d’une pièce jusqu’au plancher, chute qu’on déclenche en appuyant sur la flèche du bas.
D’où le nom TétrisFillDown que j’ai donné à cette macro...
L’idée est simple :
1. repérer la cellule du haut,
2. repérer la cellule du bas,
3. couvrir la plage reliant ces deux cellules et y effectuer un remplissage vers le bas.
Poussons plus loin le thème du billet précédent.
On
a vu dimanche dernier comment copier-coller en valeur une plage de
cellules : le processus basique à la souris, puis la méthode plus rapide
au clavier, et enfin une courte macro VBA qui permet de faire la même
chose en une fraction de seconde.
Cette
manip s’appliquait à une plage de cellules : on peut aussi l’effectuer
sur une cellule toute seule, ou sur une colonne entière (ou plusieurs),
ou sur une ligne entière (ou plusieurs), ou sur la feuille entière.
À partir de là on entrevoit un autre besoin : copier-coller en valeur l’intégralité de chacune des feuilles d’un classeur.
Copier
une (ou plusieurs) cellule(s) puis effectuer un collage spécial
“Valeurs” est sans doute une des manipulations qu’on effectue le plus
souvent quand on construit un tableau.
C’est le cas, par exemple, quand on raisonne “table de données” et qu’on veut enrichir une base de départ dans laquelle il manque
des colonnes : à coup de calculs et de RechercheV notamment, on étoffe
la base de départ pour la rendre plus riche ou plus pertinente. Il
arrive ensuite souvent qu’on veuille couper la source de ces
enrichissements : soit des colonnes peu intéressantes en elle-mêmes,
soit des tables de correspondance pour nos RechercheV. Les formules qui
s’y réfèrent doivent donc être écrasées : c’est ce qu’on fait par un copier-coller en valeur de ces cellules sur elles-mêmes.
À
la souris, certes, ce n’est pas très compliqué. Dans Excel 2003 par
exemple : une fois la plage de cellules sélectionnée, on clique “copier”
puis on va dans le menu Edition / Collage Spécial, où on sélectionne l’option Valeurs avant de cliquer OK. C’est 5 clics de souris, rien de plus.
Soit.
Mais...
L’urgence,
le flou, la précipitation, l’excès de zèle, l’imprécision, etc : il y a
mille et unes raisons de fabriquer un tableau Excel illisible,
inexploitable et, in fine,
inutile. Je ne parle pas ici du tableau qu’on crée pour soi-même :
celui-là, on se le bricole seul dans son coin, on en est l’unique
utilisateur, on saura toujours s’y retrouver, pas de problème. Non, je
veux parler ici du tableau partagé entre plusieurs personnes dans une
entreprise. Celui qui est né de quelques réunions de travail portant sur
un sujet lambda et ayant abouti au verdict “bon, on va faire un tableau pour ça”.
Le tableau servira à gérer ce sujet lambda, en sera la référence, le
point de repère, l’outil de suivi. Le vrai, le grand, le beau. LE tableau.
Notons
qu’on fait souvent ce tableau-là faute de mieux. Dans un monde idéal,
il y aurait un outil conçu exprès pour le sujet lambda – logiciel
préexistant ou développement propre. Mais faute de temps, ou faute de
budget, ou simplement faute de pertinence par rapport à l’enjeu, on n’a
pas recours à un outil spécifique : on fait juste un tableau.
Faire juste
un tableau peut aller dans le mur avant même l’ouverture d’un tableur.
Si la problématique est mal modélisée, ou si le délai imparti est trop
court, ou si on donne au futur tableau des ambitions inconciliables, etc
: le ratage est inévitable et même le plus grand expert Excel n’y
pourra rien.
Mais
supposons ici que ce n’est pas le cas : les réunions de travail ont
rassemblé des gens qui connaissent leur métier, ils partagent une vision
claire du sujet lambda, et on veut se donner les moyens de faire un bon tableau.
Pour parvenir au ratage, il ne reste donc plus qu’une solution : saboter le tableau lui-même.