Thomas Zilliox
Intégrateur CSS Freelance à Lyon

Convertir des lettres en nombres dans Excel

Le chiffrement par décalage est un chiffrement par substitution classique, comme le code César par exemple. Pour cela, j'ai souvent besoin de transformer une lettre en nombre en utilisant sa position dans l'alphabet.

Le tableur est un super outil quand on essaie de craquer un message chiffré. Cela permet de faire ce genre d'opérations rapidement et sur une grande quantité de données.

Pour cela j'utilise la formule suivante :

=COLUMN(INDIRECT(A1 & 1))
L'objectif est de pouvoir convertir les lettres en nombres.
Capture d'écran d'un fichier Excel avec la conversion

Comment ça fonctionne ?

Le secret ? J'utilise le système de coordonnées des colonnes des tableurs, que ce soit Excel, Libre Office ou Google Calc :

  • La colonne n°1 est A
  • La colonne n°2 est B
  • etc.

La fonction COLUMN()

La fonction COLUMN() affiche le numéro de la colonne d'une cellule spécifiée.

Par exemple l'exemple ci-dessous affiche 2 puisqu'on demande le numéro de la colonne contenant la cellule B10 :

=COLUMN(B10)

La fonction INDIRECT()

La fonction INDIRECT() crée une référence à une autre cellule de votre tableur. L'intérêt est que les coordonnées sont passées en paramètre sous la forme d'une chaîne de caractères. On peut donc construire ces coordonnées à partir de variables.

Par exemple pour afficher le contenu de la cellule B10 :

=INDIRECT("B10")

On peut donc afficher le contenu de la de la cellule se trouvant sur la colonne indiqué par la cellule A1 et à la ligne 10 :

=INDIRECT(A1 & "10")

Le tout ensemble

La formule suivante affiche le position dans l'alphabet de la lettre contenu dans la cellule A1

=COLUMN(INDIRECT(A1 & 1))

Bonne chasse à tous, Thomas.

That's my face!

Thomas ZILLIOX

L'homme qui murmurait à l'oreille des chevrons.

Je développe, j'intègre, je forme ou je conseille sur les CSS. Besoin d'améliorer la maintenabilité ou les performances de vos projets ?