IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Pb de conversion texte en numérique.


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Points : 72
    Points
    72
    Par défaut Pb de conversion texte en numérique.
    Bonjour, j'ai un problème sous VBA en fait j'ai utiliser la fonction gauche qui me transforme ce que j'ai sous forme de texte pour modifier celà j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For i = 1 to 100
    cells(i,14)="=VALUE(LEFT(RC[-9],7))"
    Le soucis c'est que des fois j'ai des valeur telles que 7,02E+1 ou bien F_TEpl et donc çà ne marche pas pour ces valeurs. Donc j'aurai aimé savoir comment j aurai pu faire...
    Merci d'avance

  2. #2
    Membre habitué Avatar de scully2501
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 184
    Points : 148
    Points
    148
    Par défaut
    Citation Envoyé par arnold95 Voir le message
    Bonjour, j'ai un problème sous VBA en fait j'ai utiliser la fonction gauche qui me transforme ce que j'ai sous forme de texte pour modifier celà j'ai fait
    For i = 1 to 100
    cells(i,14)="=VALUE(LEFT(RC[-9],7))"
    Le soucis c'est que des fois j'ai des valeur telles que 7,02E+1 ou bien F_TEpl et donc çà ne marche pas pour ces valeurs. Donc j'aurai aimé savoir comment j aurai pu faire...
    Merci d'avance
    Essai avec:
    cstr(valeur)
    permet de transformer valeur en string (lettre)
    regarde dans l'aide de VBA excel il y a pas mal d'indice pour transformer une valeur en string ou variant ou integer.....
    C'est tout un art de savoir programmer. Passant des heures à chercher une solution avec plaisir et joie.

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(i,14)="=VALUE(LEFT(TEXT(RC[-9],""0""),7))"
    Tu peux tester ça pour nous ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Points : 72
    Points
    72
    Par défaut
    J'ai testé mais j'ai #VALEUR! partout

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Curieux, j'ai testé avec 1,25895647859246E+22 et j'ai récupéré 1258956

    Edit
    Je précise qu'à l'écran, dans ma cellule, le nombre s'affiche 1,26E+22 et non 1,25895647859246E+22

    Edit (re)
    Par contre, text arrondit le résultat, teste avec CTXT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(i,14)="=VALUE(LEFT(FIXED(RC[-9],1),7))"
    1 est le nombre de décimales
    Tu dis

    Avec Text, tu peux aussi écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(i,14) = "=VALUE(LEFT(TEXT(RC[-9],""0,0""),7))"
    avec autant de zéros que le nombre de décimales désiré

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Points : 72
    Points
    72
    Par défaut
    L'écriture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(i,14) = "=VALUE(LEFT(TEXT(RC[-9],""0,0""),7))"
    marche bien sauf pour les valeur qui ne sont pas des nombres, en effet sur des valeurs comme 7,02E+11 ou F_SAGE j'ai toujours #valeur!.

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Quel est le format de cellule des valeurs telle "7,02E+11" ? Comme j'ai testé avec tes exemples sans pb, je ne vois plus qu'un pb de format de données.
    Essaie en remplaçant dans la cellule la virgule dans la valeur par une virgule manuelle
    Après tu nous dis.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion de format texte en numérique
    Par idhmida dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 26/12/2013, 17h26
  2. Problème conversion texte en numérique avec SQL
    Par acquistapace dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 23/01/2013, 09h31
  3. [XL-2003] Empecher la conversion d'un texte en numérique
    Par daringa dans le forum Excel
    Réponses: 1
    Dernier message: 26/07/2010, 09h55
  4. Conversion texte en numérique
    Par MAMANHOU dans le forum IHM
    Réponses: 1
    Dernier message: 30/07/2009, 17h19
  5. conversion text vers integer
    Par jawad.t dans le forum Connexion aux bases de données
    Réponses: 3
    Dernier message: 10/06/2005, 20h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo