Monsieur Excel
Pour tout savoir faire sur Excel !

26 octobre 2009

« Convertir en plage » en VBA

Dans mon article du 3 octobre, je vous ai montré comment la commande
« Convertir en plage » permettait de détruire la dénaturation des lignes et des colonnes – semblable à l’effet de l’exécrable fusion de cellules – qu’Excel 2007 provoque lors de la mise en forme de tableaux.

Supposons que vous souhaitiez enregistrer une macro effectuant la conversion en plage. Vous enregistrez la macro et – surprise ! – vous constatez que la macro a complètement zappé la conversion en plage ; il ne reste que la sélection du tableau, comme on le constate dans le code suivant :

Eh oui ! Excel ne sait pas enregistrer ce type d’opération. Pour ceux qui voudraient quand même effectuer leur conversion en plage par macro, voici le code nécessaire :

… où “T1” est le nom de la feuille où se trouve le tableau.

Remarque 1 – Si vous avez plusieurs tableaux, vous pouvez consulter la zone
« Nom », à gauche de la barre de formule, et sélectionner tel ou tel nom de tableau, pour voir à quelles cellules il correspond.

Remarque 2 – Il est étrange que, quand on sélectionne – par exemple en déroulant la liste de la zone « Nom » – un tableau donné, ce tableau est bien sélectionné alors que, si l’on sélectionne le même bloc à la main, le nom du tableau n’apparaît pas dans la zone « Nom ». Ce n’est pas cohérent avec le comportement habituel d’Excel où, quand on sélectionne une ou plusieurs cellules correspondant exactement à un nom, ce nom apparaît aussitôt dans la zone « Nom ».

2 Commentaire(s):

  • Bravo
    Peut-être le seul site avec la solution

    By Anonymous Anonyme, sur 9:05 PM  

  • Bonjour, est ce que la formule est la même sous Excel 2010?
    Je n'arrive pas à l'intégrer dans ma macro...
    Que dois je mettre avant et après?

    By Anonymous Marion, sur 5:12 PM  

Enregistrer un commentaire

<< Accueil