Valeur des lettres

Mapat

XLDnaute Occasionnel
Bonjour

Je m'amuse à compter la valeur de ce que peut représenter un mot par rapport à la position
des lettres qui le composent dans l'alphabet. A =1, B= 2 , Z = 26
J'arrive à calculer cette valeur mais en écrivant ce mot lettre par lettre cellule par cellule
Serait-il possible de calculer cette valeur mais en écrivant le mot complet dans une seule cellule
Voir PJ
Merci et bonne journée
 

Pièces jointes

  • Valeur des lettres.xlsx
    9.3 KB · Affichages: 8

job75

XLDnaute Barbatruc
Les lettres accentuées peuvent-elles être comptabilisées ?
Par formule ce sera lourdingue mais avec la fonction VBA pas de difficulté :
VB:
Dim a 'mémorise la variable

Function SommeLettres&(t)
Dim avec$, sans$, i%
avec = "ŠŽŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝ"
sans = "SZYAAAAAACEEEEIIIIDNOOOOOUUUUY"
t = UCase(t) 'majuscules
For i = 1 To Len(avec)
    t = Replace(t, Mid(avec, i, 1), Mid(sans, i, 1))
Next
If Not IsArray(a) Then 'bloc calculé une seule fois pour gagner du temps
    ReDim a(1 To 255)
    For i = 1 To 26
        a(i + 64) = i
    Next
End If
For i = 1 To Len(t)
    SommeLettres = SommeLettres + a(Asc(Mid(t, i, 1)))
Next
End Function
Fichier (2). Edit : testé sur 100 000 lignes => 6,5 secondes.
 

Pièces jointes

  • Valeur des lettres VBA(2).xlsm
    22.2 KB · Affichages: 5
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 009
dernier inscrit
dede972