Valeur numérique à des lettres

Ouri52 Messages postés 28 Statut Membre -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'aimerais trouver une formule me permettant de donner une valeur numérique aux différentes lettres de l'alphabet, de telle sorte que la somme de chaque lettre des mots d'une colonne (Ex. "A") soit automatiquement inscrite dans les cellules de la colonne adjacente (Ex. "B")

Merci,

4 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir

    Tu peux passer par le code ASCI des lettres
    Pour les majuscules par exemple le code de A est 65, celui de B 66 etc
    tu peux récupérer le code d'une lettre par la fonction code ainsi avec C en A1, en B1 la formule =CODE(A1) renverra 67
    et si tu veux 3 au lieu de 67 il suffit bien sûr de mettre=CODE(A1)-64

    Par contre pour additionner toutes les valeurs il faut programmer une fonction personnalisée en VBA comme celle-ci qui additionne les valeurs des lettres majuscules en comptant 1 pour A, 2 pour B etc

    Function addlet(mot As Range)
    addlet = 0
    For n = 1 To Len(mot)
    addlet = addlet + Asc(Mid(mot, n, 1)) - 64
    Next
    End Function


    Faire ALt F11 pour ouvrir l'éditeur VBA
    Onglet Insertion puis Module
    Copier la macro ci-dessus et la coller dans la page blanche
    Fermer l'éditeur

    La macro est après accessible dans le classeur par son nom comme n'importe quelle fonction, sa syntaxe est donc =addlet(celuule où se trouve le mot)

    ex: avec CHEVAL en A1 et =addlet(A1) en B1 on obtient 51 en B1

    Cdlmnt

    3
    1. Ouri52 Messages postés 28 Statut Membre
       
      Bonjour Via55,

      Je te remercie pour ta réponse, mais je suis encore néophyte dans l'utilisation des formules et des macros dans Excel. Pourrais-tu me donner une illustration des différentes étapes à franchir pour résoudre ce problème. Je précise, que chaque lettre va avoir la valeur que je vais lui attribuer (Ex. "a" pourrait valoir 12 ou 53 ou 128; B = 6 ou 14 ou 242; etc.).

      Gratitude!
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Ouri52 Messages postés 28 Statut Membre
         
        Bonjour

        Pour pouvoir attribuer la valeur que tu veux il faut appliquer la macro d'Eric qui m'a devancé sur la question
        Bonne suite
        0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Je ne t'ai pas devancé, je t'ai suivi ;-)
      Tous mes voeux pour 2015 :-)
      eric
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Merci Eric
        Tous mes voeux également
        Je t'avais précédé il est vrai pour répondre mais pas pour la 2eme étape permettant d'attribuer une valeur quelconque à chaque lettre !

        Via
        0