Transformation N° Colonne en Lettre

Bonjour,

J'ai trouvé une application mais j'aimerai trouver un expert qui puisse me l'expliquer :

sLPreCol = Split(Columns(LPreCol).Address(ColumnAbsolute:=False), ":")(1)

LPreCol => Première colonne d'une plage sélectionnée

Bonjour,

Quelques explications :

Columns(LPreCol).Address(ColumnAbsolute:=False) => renvoie l'adresse d'une colonne à partir de son n°.

1 => "A:A"

2 => "B:B"

26 => "Z:Z"

27 => "AA:AA"

La fonction Split découpe la chaîne en fonction d'un séparateur (et renvoie un tableau)

Split ("AA:AA", ":") => tableau de 2 éléments : AA et AA (séparateur ":")

Et on récupère le premier élément (en fait le deuxième car ça commence à 0 mais bon, c'est pareil parce qu'on a 2 fois AA).

Split(MaChaine, ":")(1)

J'espère que c'est plus clair ...

Bouben

Bonsoir,

Merci de la réponse et c'est un peu plus clair

Bonsoir,

Il n'y a pas une solution plus simple éventuellement ?

Bonjour,

Autre solution, sur le même principe (exemple pour la colonne 50) :

Split(Columns(50).address, "$")(2)

Pas facile de faire plus simple qu'une ligne ...

Bouben

Bonsoir,

Merci de la réponse

Je n'ai pas réussi à simplifier le code Split dans le fichier que j'ai !!!

Le fichier concerné est joint

29esssai-01.xlsm (40.99 Ko)

Bonjour,

La problématique m'échappe un peu.

L'objectif est de comprendre ce qui est fait ou de le faire autrement ?

Comme indiqué plus haut, on ne pourra pas simplifier beaucoup.

Exemple de code VBA un peu plus simple :

LetPreCol = Split(Columns(LPreCol).address, "$")(2)
LetDerCol = Split(Columns(LDerCol).address, "$")(2)

Bouben

25esssai-01-v0-1.xlsm (33.14 Ko)

Bonjour,

Merci du fichier

Je n'arrivais pas à faire fonctionner le code simplifié.

Encore merci.

Maintenant je m'attaque à un autre problème de variable à l'ouverture d'un classeur

Rechercher des sujets similaires à "transformation colonne lettre"