Transformer un mot en nombre dans Excel?

Fermé
Aybalit - 18 sept. 2008 à 03:20
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 - 18 sept. 2008 à 12:34
Bonjour,

Je voudrais savoir si quelqu'un connait la solution pour transformer une série de lettres en une série de chiffres.
En d'autres termes, j'ai une colonnes de mots que je veux transformer en une colonne de nombre en utilisant un algorithme tout simple du genre:
lettre a --> 1
lettre b--> 2
...
lettre e--> 5

Y a t il une solution simple?
Merci d'avance,
Aybalit

2 réponses

Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
18 sept. 2008 à 03:45
Il y a deux solutions simples, mais qui ne présentent d'intérêt que si tu fais l'opération une unique fois ; sinon ça devient vraiment ch... laborieux !
1) Tu sélectionnes tout le texte et tu utilises Rechercher/Remplacer pour chaque lettre.
2) Tu peux également saisir chaque caractère dans une cellule et utiliser la fonction RECHERCHEV() après avoir dressé le tableau de correspondance lettre/nombre.

Mais ce que ne comprends pas dans ta démarche, c'est comment tu sauras que 115169 signifie kepi et non aoafi , ou que 2215211221 ne signifie pas buebkva mais voulu !
-1
-> Raymond

je suggère d'utiliser une colonne différente pour chaque lettre du mot, c-a-d colonne B pr la 1ere lettre, C pour la 2e, etc.
1126 permet se découpe par ex. en B:1,C:1,D:2,E:6 ("aabf") ou B:1, C:12,D:6 ("alf")
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 243
18 sept. 2008 à 12:34
Bonjour à tous

Raymond à raison, comment faire pour le retour arrière !

néanmoins, voici une solution avec une fonction personnalisée. et une formule matricielle

Concatener ne fonctionne malheureusement pas en formule matricielle, je l'ai donc crée

Function Matrice_concatener(valeur As Variant) As String
    Dim i As Variant
    Application.Volatile
    For Each c In valeur
        Matrice_concatener = Matrice_concatener & c
    Next
End Function


voici la formule matricielle qui fonctionne quelque soit le nombre de caractères (elle simule une boucle For : Next)

=Matrice_concatener(CHERCHE(STXT(A1;LIGNE(INDIRECT("1:" & NBCAR(A1)));1);"abcdefghijklmnopqrstuvwxyz"))

-1