[Excel/VBA] String to Double

Fermé
jebok Messages postés 358 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 23 octobre 2007 - 23 oct. 2007 à 17:02
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 23 oct. 2007 à 22:33
Bonjour,

Je récupere des valeurs au format texte et je souhaiterais les transformer en nombres.
Lorsqu'il s'agit de nombres entiers, j'utilise CDbl() et ca fonctionne
Mais lorsqu'il s'agit de "277 1/2" par exemple, le programme plante et ne veut pas transformer en 277.5 ("Mismatch error")

Sauriez-vous comment faire cela en VBA?

Merci de votre aide.
A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
23 oct. 2007 à 21:26
bonjour

Je récupere des valeurs au format texte

De quelle façon tu récupères des valeurs : saisie formulaire, import, etc

Même si les récupérations ont fait des progrès, j'ai peur qu'il faille écrire du code pour ce cas de figure.
0
jebok Messages postés 358 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 23 octobre 2007 51
23 oct. 2007 à 22:17
Bonjour,
les valeurs sont dans une cellule, et je les recupere par
string = range("...").value

Merci de ton aide.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
23 oct. 2007 à 22:33
bonjour

C'est pire que ce que je pensais donc...

Décidément il y en a qui devancent "travailler +, etc" car écrire "277.5" est quand même plus simple que "277 1/2"

Tu n'as plus qu'à faire if instr(1,string,"/") <>0 then et toutes les autres combinaisons !
par exemple "123 1/3 + 2 moins quelques chouias" au lieu de 123.35...

Je pense que la fonction validation devrait être un tant soit plus utilisée et le résultat serait plus rentable.
0