Re : Caluler un "Idenfiant " suivant texte saisie dans cellule
Bonjour et bienvenue sur e forum XLD GibToul,
Par une fonction personnelle à copier dans un module standard voir si dessous :
puis l'utilisation ce fait via la feuille de calcul par :
si toto est en B3 alors en C3 : =ident(B3)
'-----------------------------------------
Public Function Ident(cellule As Range) As Long
Dim Chaine As Long
Dim tourne As Long
Application.Volatile
For tourne = 1 To Len(cellule)
Chaine = Asc(Mid(cellule, tourne, 1)) + Chaine
Next
Ident = Chaine
End Function
Re : Caluler un "Idenfiant " suivant texte saisie dans cellule
Bonjour à tous
@ Camarchepas : Est-ce que ta fonction personnalisée donne des identifiants différents pour des termes différents composés des mêmes lettres, mais dans un ordre différent ?
Re : Caluler un "Idenfiant " suivant texte saisie dans cellule
Re ,
@ Cisco , et oui bonne remarque donc en améliorant un peu :
toto 1238260
otot 1283710
ttoo 1233760
oott 1288210
'-----------------------------------------
Public Function Ident(cellule As Range) As Long
Dim Chaine As Long
Dim tourne As Long
Application.Volatile
For tourne = 1 To Len(cellule)
Chaine = Asc(Mid(cellule, tourne, 1)) * 10 ^ tourne + Chaine
Next
Ident = Chaine
End Function
Re : Caluler un "Idenfiant " suivant texte saisie dans cellule
Bonjour,
je vous remercie pour vos réponses.
j'ai testé les deux solutions ,et je rencontre un soucis si avec l'exemple si dessous :
"JBOBO"___"camarchepas"______Texte
17________638438260________toto h5_______ok pour les deux
18________#VALEUR!_________toto h51_______ pour JBOBO la valeur retournée est la même que la ligne du dessous
18________#VALEUR!_________toto h5- ________#VALEUR! ?
111_______#VALEUR!_________toto h5 255
19_________#VALEUR!________toto h5 3
Re : Caluler un "Idenfiant " suivant texte saisie dans cellule
Bonjour
1) Je crois comprendre le problème : L'identifiant obtenu avec la formule de JBOBO n'est pas permanent. Autrement dit, il dépend de sa position dans la liste utilisé. Est-ce ce que tu veux, gibtoul ?
2) Est-ce que par hasard, une fois que nous aurons trouvé une fonction intéressante te donnant cet identifiant, est-ce que tu ne voudrais pas aussi la fonction inverse, donnant à partir de cet identifiant le terme initial ?
Re : Caluler un "Idenfiant " suivant texte saisie dans cellule
Bonjour Cisco
Effectivement si celui si est permanent (en fonction des caractères saisies) serait bien.
Je précise que dans la cellule tout caractère peut être saisie et dépasser allègrement les 255 caractères (limite imposé par la formule de jbobo
La fonction reverse est intéressante aussi mais je veux pas abuser
Vous remerciant à tous de vous pencher sur la résolution de mon problème
Re : Caluler un "Idenfiant " suivant texte saisie dans cellule
Re ,
et oui débordement, donc j'ai changé de stratégie et de type de variable
ident nb car
toto h5 1371 7
toto h51 1628 8
toto h5- 1624 8
toto h5 255dlfkgmldfkgmldkfmglkdmlgfkmdlfkgmldkfgmldkfgmldkfmgldkfmglkdmlfgkmdlfkgmdlfkgmldkfgmldkfmglkdmflffffffffffffffffffffffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeegkdmlgfkmdlfgkmdlfkgmldfkgmldkfgmldfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 2147068 402
toto h5 3 1896 9
dfgdfgdfgdfgdfg 4645 15
Code:
Public Function Ident(cellule As Range) As LongPtr
Dim Chaine As LongPtr
Dim tourne As Long
Application.Volatile
For tourne = 1 To Len(cellule)
Chaine = Asc(Mid(cellule, tourne, 1)) + 26 * tourne + Chaine
Next
Ident = Chaine
End Function