Fonction pour convertir un Texte en Nombre

Fonction pour convertir un Texte en Nombre - VB/VBA/VBS - Programmation

Marsh Posté le 02-07-2008 à 19:46:49    

Bonjour,
 
Je souhaite creer une fonction pour convertir un texte en nombre...
 
exemple:
Je definie dans la fonction que A = 11, B= 12 , C=13 , D=14, E = 15.... espace = 0.
 
Donc "BEBE" s ecrirait "12151215" alors que "B E B E" s ecrirait "12015012015"...
 
Je n y connais pas grand chose en VBA, est ce que quelqu un peut m aider svp?
 
Nic

Reply

Marsh Posté le 02-07-2008 à 19:46:49   

Reply

Marsh Posté le 02-07-2008 à 20:01:08    

Bonjour,  
 
Je vois bien une fonction transformant ton nombre en chaine de caracteres, puis une concatenation de chaines.
 
Un truc du genre str(B) & str(E) & str(B) & str(E). voila

Reply

Marsh Posté le 02-07-2008 à 21:39:45    

bonjour,
on peut le voir comme ça :

Code :
  1. Function test(ref As Range)
  2. Application.Volatile
  3. If ref.Count = 1 Then
  4. z = ref.Value
  5. k = Len(z)
  6. For i = 1 To k
  7. If Mid(z, i, 1) = " " Then
  8. retour = retour & "0"
  9. Else
  10. retour = retour & Asc(Mid(z, i, 1)) - 86
  11. End If
  12. Next
  13. test = retour
  14. End If
  15. End Function

Reply

Marsh Posté le 03-07-2008 à 10:06:45    

Galopin01 Encore toi!! C est pas la premiere fois que tu m aides... c est vraiment sympa!!!
 
Je regarde ce que ca donne! et Je repost :-)
 
Merci encore

Reply

Marsh Posté le 03-07-2008 à 13:34:12    

Galopin, J ai inserer la fonction et je l appele de Excel en faisant reference a un nom mais cela ne me sort pas de chiffre...  en gros ca ne traduit pas le nom en chiffre...
 
Qu est ce que je fait de mauvais?

Reply

Marsh Posté le 03-07-2008 à 13:51:32    

tu dois faire "=test(A1)" et en A1 tu mets ton texte


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 03-07-2008 à 14:24:32    

c est ce que je fait babass mais la cellule me ressort un #NAME?
 
je precise:
J insere le code VBA. Je sauvegarde la feuille...
en A1 je mets un texte "bebe"
en A2 je tape "=test(A1)"
et je me retrouve avec l erreur #NAME?  
 
Je ne comprends pas. La fonction se nomme TEST, elle est bien presente mais a priori il ne la trouve pas... :-(

Reply

Marsh Posté le 03-07-2008 à 14:39:27    

Il faut mettre le code dans un module


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 03-07-2008 à 14:49:13    

Super !!! Ca fonctionne...
Et maintenant si j ai le chiffre 12151215 pour bebe, comment faire pour traduire le chiffre en texte.... en gros la demarche inverse?
Je suis excite comme une puce... :-)

Reply

Marsh Posté le 03-07-2008 à 15:11:57    

Ben tu te débrouilles  :D  
En fait, il faut que tu t'assures que les nombres utilisés pour coder tes lettres soient tous de même taille sinon tu vas avoir un petit problème....


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed