PROCEDURE test(X est un entier)
// Cette fonction renvoie l'abscisse en lettres dans une feuille Excel
// X est le numéro de colonne
// Remarque : Il s'agit de la conversion d'un nombre en base 26
// L'algorithme renvoie un résultat correct en 2 lettres maximum
// Exemples :
// 1 -> A
// ...
// 26 -> Z
// 27 -> AA
// ...
// 702 -> ZZ
// Avec 702 = 27 x 26 <-- nombre de possibilités avec les lettres en majuscule de l'alphabet
nQuotient est un entier
nReste est un entier
sRes est une chaîne
SI efe_IndX > 702 ALORS RENVOYER "" // Valeur à capturer dans la fonction appelante pour éviter le plantage Excel -> Range()
nQuotient = PartieEntière(X/26)
nReste = modulo(X,26)
SI nReste = 0 ALORS
nQuotient--
nReste = 26
FIN
SI nQuotient > 0 ALORS sRes = Caract(64+nQuotient)
sRes += Caract(64+nReste)
RENVOYER(sRes)
No comments:
Post a Comment