• Initiateur de la discussion Initiateur de la discussion Mapat
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
40
Affichages
3 K
Retour