Caluler un "Idenfiant " suivant texte saisie dans cellule

gibtoul

XLDnaute Junior
Bonjour à Tous

je souhaiterais savoir si il y a une possibilité d'avoir un identifiant correspondant au texte saisie dans une cellule.

j'utilise nbcar qui me donne un chiffre en fonction du nombre de caractère.

ex : TOTO -> 4

par contre si j'ai :
TATA -> j'aurais toujours 4 alors que je souhaiterai avoir un chiffre diffèrent

cela me permet de différencier plus finement les doublons

Vous remerciant
 

camarchepas

XLDnaute Barbatruc
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
 

CISCO

XLDnaute Barbatruc
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 ?

@ plus
 

camarchepas

XLDnaute Barbatruc
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
 

gibtoul

XLDnaute Junior
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

A bientôt

Gibtoul
 
Dernière édition:

JBOBO

XLDnaute Accro
Re : Caluler un "Idenfiant " suivant texte saisie dans cellule

Bonjour,

Bizarre chez moi ça à l'air de fonctionner. Voir fichier joint.
 

Pièces jointes

  • toto.xls
    40.5 KB · Affichages: 27
  • toto.xls
    40.5 KB · Affichages: 27
  • toto.xls
    40.5 KB · Affichages: 26

CISCO

XLDnaute Barbatruc
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 ?

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Caluler un "Idenfiant " suivant texte saisie dans cellule

Bonjour

Deux autres méthodes...
Il se peut qu'il y ai des doublons. Je n'en sais rien !

@ plus
 

Pièces jointes

  • toto.xls
    25.5 KB · Affichages: 17
  • toto.xls
    25.5 KB · Affichages: 22
  • toto.xls
    25.5 KB · Affichages: 23
Dernière édition:

gibtoul

XLDnaute Junior
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

a+

gibtoul
 

camarchepas

XLDnaute Barbatruc
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
 

Victor21

XLDnaute Barbatruc
Re : Caluler un "Idenfiant " suivant texte saisie dans cellule

Bonsoir gibtoul, camarchepas, JBOBO, CISCO.

En PJ un fichier concocté par Garnote :) (Ah ! Souvenirs, souvenirs !)
qui pourrait intéresser notre ami :
 

Pièces jointes

  • garnote Message_secret.xlsm
    15.6 KB · Affichages: 19

gibtoul

XLDnaute Junior
Re : Caluler un "Idenfiant " suivant texte saisie dans cellule

Je tiens a tous vous remercier pour l'aide apporter pour résoudre mon problème

la solution de "camarchepas" marche parfaitement pour tout les cas de figure

Merci Encore et a très bientôt

gibtoul
 

Discussions similaires

Statistiques des forums

Discussions
312 219
Messages
2 086 372
Membres
103 198
dernier inscrit
CACCIATORE