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 :

Comment récupérer une valeur de cellule avec le bon format?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut Comment récupérer une valeur de cellule avec le bon format?
    Bonjour a tous,

    J'entre dans une feuille excel via un user form des montants, par exemple 35000.00 .

    Dans la feuille excel, cette valeur est entrée dans la cellule J1 au format 35,000.00.

    Lorsque je récupere cette valeur, j'utilise le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      Dim Amount1, Amount12 As Double
     
    Amount1 = Range("J1").Value
    Amount12 = Format(Amount1, "####.##")
    Mais ca m'affiche Amount1=35000, idem pour Amount12

    Ma question est comment faire en sorte que Amount1 ait le format de nombre que celui affiché dans la feuille excel?

    Merci d'avance pour vos pistes ou éléments de réponse.

  2. #2
    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
    Par défaut
    D'où vienne ces valeurs ? D'un userform, d'accord, mais de quel contrôle ?
    Supposons qu'elle proviennent d'une textbox, auquel cas, tu dois mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("J1").Value = Val(Replace(TextBox1.Value, ",", "."))
    Maintenant, si tu veux afficher 35000,50, le format doit être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Amount12 = Format(Amount1, "####.00")
    Bonne journée

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut
    Merci pour ta réponse Ouskel'n'or

    Je m'excuse car je n'ai pas été tres clair.

    Je viens de faire une capture de ma feuille

    En fait, au moment ou je veux récupérer le montant, il a déja été rentré via le user form. Le montant est au bon format (35,000.00) dans la feuille excel dans la colonne J.

    Jusqu'a maintenant tout ce que j'ai pu récupérer c'est la valeur dans la barre de formules (35000)

  4. #4
    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
    Par défaut
    Désolé mais je parlais pour une version française d'Excel. Pour la version anglaise, on peut réfléchir mais... Si tu as 35,000.00 dans ta cellule, comment veux-tu avoir 35000.50 ?
    Maintenant si c'est le format qui te gène, pour avoir deux chiffres après la virgule, je t'ai donné la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Amount12 = Format(Amount1, "####.00")
    Mais j'ai l'impression que je comprends mal ta question

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut
    Y a pas de mal, c'est moi qui ai mal posé le probleme.

    On va oublier le "35000.50" c'était juste un exemple avant que je fasse la capture.

    Pour les deux chiffres apres la virgule effectivement ca marche et je t'en remercie .

    Le probleme réside sur l'affichage de la virgule utilisée comme séparateur des milliers.

    En gros ce que je veux faire c'est récupérer et afficher le montant tel qu'il est écrit dans la feuille, c'est a dire 35,000.00et non pas 35000.00

  6. #6
    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
    Par défaut
    Alors donne le bon format
    Je suppose que dans une version anglaise, ce serait ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Amount12 = Format(Amount1, "#,###.00")
    ... puisque dans la version française, avec un espace comme séparateur de milliers ça donnerait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Amount12 = Format(Amount1, "# ###.00")
    A+

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/05/2014, 12h38
  2. [XL-2003] Récupérer une valeur via COM (avec une macro sur la cellule)
    Par a028762 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/06/2010, 17h23
  3. Comment récupérer une valeur d'une DataGridView
    Par rar77 dans le forum VB.NET
    Réponses: 3
    Dernier message: 27/11/2007, 19h11
  4. Réponses: 10
    Dernier message: 22/08/2007, 18h07
  5. Comment récupérer une valeur d'un paramètre d'une balise object?
    Par cassy dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 15/11/2006, 12h12

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