[Excel/VBA] String to Double

jebok Messages postés 371 Date d'inscription   Statut Membre -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
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.
Configuration: Windows 2000
Excel 2003

2 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
    1. jebok Messages postés 371 Date d'inscription   Statut Membre 51
       
      Bonjour,
      les valeurs sont dans une cellule, et je les recupere par
      string = range("...").value

      Merci de ton aide.
      0
  2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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