Convertir un texte en chiffre selon un ordre précis

Hello la communauté,

Déja merci bcp pour tout l'aide apporté jusqu'à maintenant. C'est incroyable.

Aujourd'hui, je fais appel à vous car je ne sais pas comment convertir un champs texte type "bernard-dupont" en chiffre selon le chiffre affecté à une lettre.

Je m'explique,

Si je défini :

A = 1

B = 2

C = 3

_ = 4

Et que je souhaite convertir : "ABC"_ cela donnerai 1234 ou encore "AC_B" cela donnerai 1342.

J'ai essayé avec une RechercheV integré dans une boucle, mais cela ne marche absolument pas. Je suis preneur de votre aide.

Merci

Bonsoir le forum,

Texte à convertir en D2 :

=RECHERCHEV(GAUCHE(D2;1);A:B;2;0)&RECHERCHEV(STXT(D2;2;1);A:B;2;0)&RECHERCHEV(STXT(D2;3;1);A:B;2;0)&RECHERCHEV(DROITE(D2;1);A:B;2;0)

Bonjour,

Une proposition à étudier.

Cdlt.

37surpriz.xlsm (20.65 Ko)
Public Function fnConvertText(txt As String)
Dim tbl, tbl2, x, i As Long, y As String
    fnConvertText = ""
    tbl = Array("A", "B", "C", "_")
    tbl2 = Array(1, 2, 3, 4)
    For i = 1 To Len(txt)
        For x = 0 To UBound(tbl)
            If Mid(txt, i, 1) = tbl(x) Then y = y & tbl2(x): Exit For
        Next x
    Next i
    fnConvertText = y
End Function

A première vue, c'est génial. Je vais le pousser un peu pour voir si ça peut coller réellement avec mon besoin, une fois que j'aurai adapter l'Array. Car les texte sont un peu plus compliqué sur mon fichier.

Merci @mbbp, je n'avais pas vu ta proposition qui fonctionne aussi très bien. Merci

Mais vu que je dois convertir des phrases type : "gerard-dupont" ou "emmanuel-macron-13267", la RechercheV ça va faire un peu long.

@Jean-Eric : 2 questions stp

Est-ce que tu penses que dans ta proposition qui fonctionne à ce jour, on peut aller chercher l'equivalence dans un autre onglet ? pour avoir ça :

A1:A B1:1

A2:B B2:2

A3:C B3:3

A4:_ B4:4

Et est-ce que l'on peut mettre un Warning s'il rencontre un caractere qu'il ne connait pas dans ses réferences ?

Bonjour,

Une nouvelle proposition.

Cdlt.

8surpriz.xlsm (24.60 Ko)

Merci de cette v2.

J'ai mis dans l'onglet qui sert de réference tous les symboles ASCII A-Z, a-z, 0-1 et bien d'autres. Est-ce que de votre coté, les chiffres fonctionnent ?

Car même mis en "Texte", de mon coté il ne les prends pas en compte.

12tmp.xlsm (40.00 Ko)

Salut Surpriz,

Salut Jean-Eric,

bête question, sans même évaluer l'intérêt de la chose : étant donné qu'il sera totalement impossible, en l'état actuel de la conversion, de décoder en sens inverse (à quoi sert un code, sinon?), pourquoi ne pas se contenter simplement du code ASCII de chaque caractère?

Bonjour la simplification et la vitesse...

Bête question, je sais...

A+

L'objectif de cette demande initiale est de convertir la fin d'une URL pour obtenir un identifiant unique :

Ex google.com/john-doe/ qui donne "4550434973395040" pour "john-doe". C'est la seule méthode que j'ai trouvé pour ne jamais avoir 2 identifiants identiques.

Notre base de données où l'importe ce type de données n'accepte que les chiffres.

Bonjour,

Une nouvelle proposition.

Cdlt.

Surpriz.xlsm

Bonjour

en cherchant sur le forum jai trouver ce topic

sa m'intéresse pour un petit codage des chiffre

ma question : on peux inverser l’opération ? on écrivant une suite des chiffres et sa donne une suite des lettres ? sachant qu'on prédéfinir a l'avance la valeur de chaque chiffre en lettre

exemple:

0=R

1=B

2=P

3=E

4=T

5=O

6=V

7=I

8=N

9=Q

750 = IOR

Rechercher des sujets similaires à "convertir texte chiffre ordre precis"