Transformer un mot en nombre dans Excel?

Aybalit -  
wilfried_42 Messages postés 912 Statut Contributeur -
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
Configuration: Windows XP
Firefox 3.0.1

2 réponses

  1. Raymond PENTIER Messages postés 58227 Date d'inscription   Statut Contributeur Dernière intervention   17 490
     
    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
    1. siouplé
       
      -> 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
  2. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    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