Correspondance lettre chiffre

Contenu du snippet

Alors je suis peu être un peu bête (si ca existe deja...) mais comme je code souvent en VBA pour Excel, et que je me serts des colonnes, j'ai trouvé utile de faire une petite fonction qui renvoie le numero de la colonne lorsqu'on rentre la ou les lettres. La fonction est limitée a 2 lettres mais rien ne vous empeche de le compléter pour eventuellement coder une chaine de texte (enfin moi je dis ca....)...

Donc voila, a quoi ça ressemble :

Source / Exemple :


Public ColonneE()
Public Alphabet()

Function Correspondance(col)
    'Stockage de l'alphabet
    Alphabet = Array("", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
    col = UCase(col) 'Pour eviter les erreurs de case
    For i = 1 To 26
        'Correspondance lettre <=> chiffre (rang)
        ReDim Preserve ColonneE(2, i + 1)
        ColonneE(1, i) = Alphabet(i)
        ColonneE(2, i) = i
    Next i
    
    Select Case Len(col)
        Case 1 'Cas ou la colonne rentrée est entre A et Z
            For i = 1 To 26
                If ColonneE(1, i) = col Then
                    indice = ColonneE(2, i)
                    Exit For
                End If
            Next 'Cas ou la colonne rentrée comporte 2 lettres
        Case 2
            For i = 1 To 26
                If ColonneE(1, i) = Left(col, 1) Then
                    indice1 = ColonneE(2, i)
                    Exit For
                End If
            Next i
            For i = 1 To 26
                If ColonneE(1, i) = Right(col, 1) Then
                    indice2 = ColonneE(2, i)
                    Exit For
                End If
            Next i
            indice = (indice1 * 26) + indice2
    End Select
    
    Correspondance = indice
End Function

Conclusion :


Donc c'est très simple vous coller ça ou vous voulez, et vou tapper un
rang = Correspondance(inputbox("Quelle colonne a convertir ?"))
par exemple, et voila, vous aurez dans rang la valeur chiffrée de la chaine !!

Libre à vous de completer le tableau Alphabet, pour un fonctionnement optimum, je l'ai fait pour mes besoins, maintenant ils ne sont certainement pas universels, donc si vous vous en servez et si vous modifiez, ça serait cool de me le dire pour que je mette à jour la source (promis je mettrai vos noms!!).

SHARE !!!!

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.