dimanche 1 juillet 2012

Convertir un nombre en texte

Le billet de dimanche dernier portait sur les manipulations d’Excel autour du mode Edition : entrer&sortir d’une cellule.

C’était l’occasion d’utiliser l’instruction SendKeys, qui simule une action utilisateur au clavier. Au-delà de cette opération entrer&sortir, l’un des premiers usages que j’avais fait de cette instruction avait été de bricoler une macro qui me permette de convertir facilement un nombre en texte si ce nombre avait été malencontreusement entré comme valeur numérique.

Par exemple, si j’avais un listing d’adresses dont l’une des colonnes était le code postal, il arrivait que ces codes postaux aient un format numérique - le format par défaut pour des nombres. Bien sûr dans beaucoup de cas on pourrait travailler avec les valeurs numériques de ces codes postaux ; mais ça pourrait poser problème dans certaines situations.

Illustration avec les codes postaux qui commencent par 01 (Ain), 02 (Aisne), 03 (Allier) … 09 (Ariège). Si on laisse Excel les traiter comme des nombres, le premier 0 va être coupé et les codes postaux seront donc transformés en valeurs commençant par 1, 2, 3... 9. Et si on veut - exemple au hasard - en extraire le code du département, ça ne marche pas de prendre les deux chiffres à gauche du code postal !