dimanche 23 octobre 2011

Comment remplir une colonne

Comment remplir une colonne

Décortiquons une opération ultra-banale sur laquelle on peut gagner des secondes par dizaines, par centaines, par milliers.

Le contexte : quand on manipule des tables de données sous Excel, une opération courante consiste à ajouter une colonne et à la remplir de données. C’est un enrichissement qu’on fait dans une colonne encore vierge à droite de la table ou bien par insertion d’une colonne quelque part au milieu. On y saisit une étiquette sur la première ligne, puis une valeur ou une formule dans la cellule juste en-dessous : fonction calculée à partir de valeurs situées dans d’autres colonnes (par exemple ‘quantité’ x ‘prix unitaire’ pour avoir un montant total), concaténation de textes répartis dans plusieurs colonnes préexistantes (par exemple ‘prénom’ & ‘nom’), etc.

Une fois qu’on a entré la formule, ce qu’on veut faire immédiatement après c’est tout simplement :
⇒ recopier cette formule jusqu’en bas de la table !


C’est une manip simple qu’on peut faire de plein de manières différentes. Commençons par voir ça avec la souris ; on verra ensuite commment ça se passe au clavier.




1. Les méthodes basiques, uniquement à la souris :

La méthode la plus courante consiste à sélectionner la cellule qui contient la formule puis à double-cliquer sur le petit carré dans le coin inférieur droit : Excel recopie la formule vers le bas de la table.


Mais cette recopie se heurte à des obstacles : si Excel rencontre une cellule non-vide dans la colonne elle-même, la recopie s’arrête juste avant. Ou si Excel rencontre une cellule vide dans la colonne immédiatement à gauche, la recopie s’arrête, là aussi, une ligne avant.

Lorsqu’on travaille par exemple sur une table de 50 000 lignes cela peut être problématique : si on a lancé la recopie à partir de la ligne 2 et si l’arrêt survient à la ligne 15 000, ces obstacles ne se voient pas forcément. Pour être sûr que la recopie est complète, il faut aller le vérifier en bas de la table. Et, si ce n’est pas le cas, la compléter en recommençant l’opération !

Au-delà de cette astuce du double-clic, la méthode pas à pas “100% souris” consiste à
1 - sélectionner la cellule initiale
2 - puis, bouton enfoncé, couvrir la plage entière des cellules dans lequelles la formule doit être recopiée
3 - ensuite, recopier vers le bas.

Ça contourne évidemment les obstacles de la méthode précédente, mais si on le fait entièrement à la souris sur une table de 50 000 lignes, c’est trèèès long ! La faute au premier point : bouton de souris enfoncé, faire défiler des pages et des pages à l’écran, en attendant d’arriver en bas, c’est long... Et je ne parle pas du problème de bien viser le bas de la table. (“ah zut, je suis allé trop bas, je dois remonter” [on remonte] “ah c’était là, re-zut” [on redescend] “oh de nouveau trop bas re-re-zut” [on remonte] “j’y arrive, allez, doucement” [voooilà]. Tout ça avec la main crispée sur la souris pour garder le bouton enfoncé...)



2. Maintenant, lâchons la souris et travaillons au clavier.

L’idée est de suivre le même raisonnement que dans la méthode pas à pas ci-dessus :
1 - on sélectionne la cellule initiale puis la plage entière en n’utilisant que le clavier,
2 - et on recopie vers le bas (Ctrl+B au clavier, sur une version française d’Excel).
C’est le premier point qui est central. Avec l’habitude et/ou les bons raccourcis clavier, c’est LE point sur lequel on peut gagner du temps et finir par aller très vite.

Pour sélectionner une plage de cellules comme celle-ci (cellules vides, une seule colonne), il n’y a pas de “meilleure méthode” : tout dépend de la constitution de la base et de ses propres habitudes. Cela dit, il y a quelques astuces utiles en matière de déplacement dans une feuille. Voici quelles formes elle peuvent prendre.

Point de départ : on se positionne sur la cellule initiale (celle qui contient la formule). Puis, touche Maj enfoncée, on va descendre jusqu’au bas de la colonne à remplir. Ceci, on peut le faire de plein de façons différentes au clavier :
- soit en passant par la “dernière cellule” de la feuille (Ctrl+Maj+Fin) puis en revenant sur la bonne colonne (Maj+Gauche, ou éventuellement Ctrl+Maj+Gauche, ou Maj+Début voire Alt+Maj+PgPréc)
- soit en s’appuyant sur une colonne déjà remplie (par exemple la colonne juste à gauche, en supposant qu’elle ne contienne aucune cellule vide :
1 - Maj+Gauche pour sélectionner aussi la cellule voisine
2 - puis Tab pour que cette cellule voisine devienne la cellule active
3 - Ctrl+Maj+Bas pour couvrir la plage
4 - Tab pour “revenir” sur la bonne colonne
5 - et Maj+Droite pour désélectionner la colonne de gauche. Et voilà, c’est tout !)


On peut aussi effectuer cette même couverture en allant sélectionner d’abord la cellule finale : on utilise exactement le même type de manip que ci-dessus, sauf qu’il n’y a pas de touche Maj à maintenir enfoncée, ce qui allège les déplacements. La touche Maj n’intervient que sur une seule étape : lorsqu’on est sur la dernière ligne (dans la “bonne” colonne), un Ctrl+Maj+Haut permet d’aller “attraper” la cellule initiale pour finaliser la sélection.

Et hop, un Ctrl+B recopie vers le bas !

NOTE : ces combinaisons de touches sont celles des déplacements standards dans Excel, et en mode normal (non étendu). C’en sont d’autres si on utilise les touches alternatives de déplacement et/ou si on se déplace en mode étendu !

Ces successions de combinaisons de touches peuvent sembler fastidieuses. Mais, avec la pratique, ces déplacements deviennent évidents et le gain de temps est appréciable. D’autant plus que, parmi toutes les tâches qu’on peut effectuer pour enrichir une table, celle-ci est sans doute l’une des plus bêtement techniques - autrement dit, elle a très peu de valeur ajoutée.



Dans un prochain billet, on verra comment faire ça en VBA. L’idée sera d’alléger encore davantage cette manip, pour faire en sorte que l’enrichissement d’une table par une nouvelle colonne consiste principalement à entrer la formule dans la première cellule, et que recopier cette formule jusqu’au bas de la colonne ne soit plus que l’affaire d’une fraction de seconde.

Aucun commentaire:

Enregistrer un commentaire