Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
886
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…