Valeur numérique à des lettres
Fermé
Ouri52
Messages postés
28
Date d'inscription
samedi 10 mai 2014
Statut
Membre
Dernière intervention
18 février 2015
-
3 janv. 2015 à 21:48
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 6 janv. 2015 à 06:45
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 6 janv. 2015 à 06:45
A voir également:
- Valeur numérique de 65000
- Comment calculer la valeur numérique de 65 000FCFA - Forum Bureautique
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum Excel
- Pavé numérique bloqué - Guide
- La valeur saisie doit être numérique - Forum Bureautique
- Clavier numérique bloqué - Guide
4 réponses
via55
Messages postés
14494
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
26 octobre 2024
2 734
3 janv. 2015 à 22:11
3 janv. 2015 à 22:11
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
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
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
Modifié par Ouri52 le 4/01/2015 à 08:20
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!
5 janv. 2015 à 17:38
Pour pouvoir attribuer la valeur que tu veux il faut appliquer la macro d'Eric qui m'a devancé sur la question
Bonne suite
5 janv. 2015 à 17:52
Tous mes voeux pour 2015 :-)
eric
5 janv. 2015 à 20:21
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