VBA: le nom et le numéro de la colonne


Il n'est parfois pas évident de trouver le numéro d'une colonne (par ex. 45 pour la colonne "AS" ni d'extraire le nom de la colonne (par ex. "AS") à partir d'une adresse de cellule. Surtout que depuis la version 2007 d'Excel (c'est à dire dans Excel 2007 – 2016), le nombre de colonnes a atteint le nombre de 16.384 (détail de toutes les versions d'Excel). Pourtant, il s'agit d'une conversion très importante – pour l'utilisation des Range et pour les itérations (loops) dans VBA.

Voici donc une série des fonctions qui vous permettront de convertir facilement les noms de colonnes et leur numéros. Pour chacun des deux types de conversion (numéro -> nom; nom -> numéro), vous trouverez deux codes VBA: la fonction la plus simple pour faire la conversion en VBA et le code de l'algorithme (expression mathématique du calcul) qui vous permettra de transposer cette fonctionnalité dans d'autres langages de programmation.

Excel: Numéros et noms de colonnesLes colonnes et leur numéros.

VBA: Trouver le nom de la colonne

Voici le code qui vous permettra de trouver la lettre de la colonne à partir d'un numéro. Par exemple: le nom de la 74ème colonne => "BV".

Code source VBA pour trouver le nom de la colonne

Cette fonction est très simple et utilise la propriété Address de l'objet Range dans Excel. C'est ainsi qu'il est possible de faire la conversion en une ligne de code (mais pour une meilleure lisibilité, je l'écris sur deux lignes)…

L'algorithme pour trouver le nom de la colonne (sans l'utilisation des fonctionalités particulières d'Excel).

Cet algorithme va renvoyer exactement le même résultat que la fonction précédente mais sans faire appel aux fonctions spécifiques à VBA – vous pouvez donc le retranscrire librement dans d'autres langages de programmation.

VBA: Trouver le numéro de la colonne

Et voici la conversion contraire: comment trouver le numéro de colonne à partir de son nom. Par exemple: la colonne "BC" est la 55ème.

Code source VBA pour trouver le numéro de la colonne

Cette fonction peut être facilement utilisée dans vos applications Excel. Elle utilise comme argument le nom de la colonne et retourne son numéro.

 

L'algorithme pour trouver le numéro de la colonne (sans l'utilisation des fonctionalitées particulières d'Excel).

Cet algorithme peut être transformé dans d'autres langages de programmation (Java, C#,…) car il n'utilise pas des fonctionnalités spécifiques à Excel (comme par ex. Range)

Du point de vue d'Excel, cette fonction utilise comme paramètre un argument de type String qui contient le nom de la colonne (e.g. "AT" ou "FRB"). La valeur renvoyée par cette fonction est le numéro de la colonne (en tant qu'Integer)

 

7 0

Pourrait vous intéresser

Partagez cette page...
Share on FacebookShare on Google+Share on LinkedInTweet about this on TwitterShare on RedditShare on TumblrDigg thisEmail this to someone