XL 2016 Somme des rangs de lettres d'une cellule

dedef

XLDnaute Occasionnel
Bonsoir,
est-il possible, à partir d'une combinaison de fonctions, de calculer en une fois la somme des rangs de lettres présentes dans une cellule (a=1, b=2, ..., z=26)?
Par exemple, si j'ai "Bonjour" dans une cellule, je veux obtenir 95(2+15+14+10+15+18+21).
Merci d'avance.
 

job75

XLDnaute Barbatruc
Bonsoir dedef,
Code:
Function SommeRangLettres(t)
Dim i, rang
t = UCase(t)
For i = 1 To Len(t)
  rang = Asc(Mid(t, i, 1))
  If rang > 64 And rang < 91 Then _
    SommeRangLettres = SommeRangLettres + rang - 64
Next
End Function
Bonne fin de soirée.
 

Pièces jointes

  • SommeRangLettres.xlsm
    19.3 KB · Affichages: 30

ODVJ

XLDnaute Impliqué
Bonsoir à tous,

une formule, si "Bonjour" est en H12 :
Code:
=SOMMEPROD(CODE(STXT(MAJUSCULE(H12);LIGNE(INDIRECT("1:"&NBCAR(H12)));1))-64)
Si il faut gérer les caractères non alpha, la formule s'allonge :
Code:
=SOMMEPROD((CODE(STXT(MAJUSCULE(H12);LIGNE(INDIRECT("1:"&NBCAR(H12)));1))>64)*(CODE(STXT(MAJUSCULE(H12);LIGNE(INDIRECT("1:"&NBCAR(H12)));1))<91)*(CODE(STXT(MAJUSCULE(H12);LIGNE(INDIRECT("1:"&NBCAR(H12)));1))-64))
Cordialement
 

Discussions similaires

Réponses
46
Affichages
854

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin