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 :

Convertir un string en nombre sous Excel 2010 avec VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Par défaut Convertir un string en nombre sous Excel 2010 avec VBA
    Bonjour,

    je n'arrive pas a convertir un String en nombre

    voici mon code mais ca marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Sub convertir()
     
     
    With Sheets(Feuil1)
    .cell(1, 16).Value = CCur(.cell(1, 16).Value)
    End With
     
    End Sub
    l'erreur qque 'ai "incompatible du code"

    c'est la cellule que je veux convertir
    +00000038450.56
    et le resultat que je veux avoir apres convertion
    38450,56

    Merci pour votre aide

  2. #2
    Membre Expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475
    Par défaut
    Bonjour

    As-tu essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x = Val(Cells(1, 16).Value)

  3. #3
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Sub convertir()
     
     
    With Sheets(Feuil1)
    .cell(1, 16).Value = Val(Cells(1, 16).Value)
    End With
     
     
    End Sub
    avec ce code aussi la meme erreur de type 13 "incompatiblité du code"

  4. #4
    Membre Expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475
    Par défaut
    Re

    Attention "" et Cells


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Sub convertir()
    With Sheets("Feuil1")
    .Cells(1, 16).Value = Val(Cells(1, 16).Value)
    End With
    End Sub

  5. #5
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Par défaut
    Merci bcp pour ta réponse

    le code il marche sur les cases de ce genre +00000014804.00

    pour convertir ce genre de case

    de 003.813027 "format string"

    il me retourne que deux chiffres apres le virgule c'a dire 3,81

    j'ai essayé .NumberFormat = "*,*"

    mais ça donne rien

    stp si ta une solution à ce genre de format n'hesite sur tout pas j'ai essayé CDbl et CCur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Sub convertir()
     
    With Sheets("Feuil1")
    .Cells(13, 16).Value = CDbl(Cells(13, 16).Value)
     
    End With
    End Sub
    ça retourne l'erreur de incompatibilité de type

    Encore Merci bcp

  6. #6
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonsoir

    Pour afficher 00000.0008545 sur une feuille excel, ne faut t-il pas que la cellule soit au format texte. Un changement de format sur la feuille n'est t-il pas possible ?

    Le 3,81 renvoyé semble être dû a un nombre de chiffre insuffisant aprés la virgule.

    En augmentant le nombre de zero aprés la virgule par vba, j'ai un résultat probant
    en partant de 00000.0000008556 en "a1"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    convertir()
    Cells(1, 1).Value = Format((Cells(1, 1)), "0.000000000000")

    La cellule "a1" m'indique 0.00
    mais la barre de fonction m'affiche le chiffre reel de 0.0000008556

  7. #7
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Par défaut
    Bonjour,

    merci bcp pour vos reponse,

    effectivement, que ce soit lavec val ou en avec le changement de format, l'affichage est toujours le meme 0.00 mais c'est vrai qu'en barre fonction vous pouvez trouver tout le numero

    donc le probleme est resoulu merci tout le monde

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/01/2013, 10h42
  2. Covertir String en decimal sous Excel 2010 avec VBA
    Par sambrook dans le forum Excel
    Réponses: 1
    Dernier message: 28/01/2013, 15h45
  3. Réponses: 2
    Dernier message: 08/12/2011, 16h31
  4. Liaison externe sous Excel 2010
    Par texas2607 dans le forum Excel
    Réponses: 5
    Dernier message: 18/01/2011, 17h08

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