IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Transformation d'une codification lettre à un chiffre


Sujet :

Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 542
    Points : 187
    Points
    187
    Par défaut Transformation d'une codification lettre à un chiffre
    Bonjour,

    Est-ce que vous sauriez s'il n'existe pas une fonction permettant de transformer un numéro codé en lettres en chiffre.

    Voici ce que j'aimerais que ma fonction me fasse :

    FONCTION_SOUHAITE(B)=2
    FONCTION_SOUHAITE(E)=5
    FONCTION_SOUHAITE(AA)=27
    ...

    J'ai vu qu'il existe des macros pour celà. Mais depuis que Excel existe, j'imagine qu'il doit y avoir une fonction toute faite pour faire cette manip.

    Merci pour votre aide et vos idées.

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, une parmi une kyrielle, à utiliser sous forme de fonction personnalisée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Option Explicit
     
    Function Lettre2NumCol(sChaine As String) As Long
    Dim i As Long, ValeurCh As Long, v As Long
    Const sChaineAlpha As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        For i = 1 To Len(sChaine)
            ValeurCh = InStr(1, sChaineAlpha, Mid$(UCase$(sChaine), i, 1))
            v = v * 26 + ValeurCh
        Next i
        Lettre2NumCol = v
    End Function
     
    Sub Tst()
        MsgBox Lettre2NumCol("a")
        MsgBox Lettre2NumCol("xFd")
     
        Feuil1.Range("A1") = "AzertY"
        MsgBox Lettre2NumCol(Feuil1.Range("A1"))
    End Sub
    Ce qui pour XFD donne 16384 et pour FXSHRXW : 2147483647.

  3. #3
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 417
    Points : 16 260
    Points
    16 260
    Par défaut
    Bonjour

    Sauf erreur je comprends que tu veux la correspondance des colonnes Excel : COLONNE(B1) ou COLONNE(B:B)
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Autre proposition de fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function Lettre2NumCol(sChaine As String) As Long
       Lettre2NumCol=Range(sChaine&"1").Column
    End Function
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

Discussions similaires

  1. [XL-2007] Transformer une saisie de 3 chiffres en date et heure
    Par apt dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 19/01/2015, 15h23
  2. Réponses: 6
    Dernier message: 24/12/2014, 20h45
  3. Lettre et chiffre dans une même case mémoire
    Par isrdum dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/05/2012, 03h58
  4. [MySQL] Faire une recherche par la première lettre (ou chiffre) d'une liste
    Par Rowmanow dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 30/01/2011, 21h17
  5. transformation d'une somme ecrite en chiffre => lettres
    Par Hamza dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 01/04/2006, 19h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo