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 :

[VBA-E] Type de données


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Par défaut [VBA-E] Type de données
    Bonjour

    Voila mon problème, je récupère des valeurs avec plusieurs chiffres apres la virgule, j'aimerai savoir comment faire pour n'afficher que 2 chiffre apres la virgule vu que ces valeurs font reference a des prix.

    j'ai essayé d'utiliser une variable de type currency mais sans succès.

    Merci

  2. #2
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Salut!
    Regarde l'aide des fonction Format() et Round().

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Par défaut
    Merci mais il y a un probleme pour afficher les 0

    par exemple au lieu de m'afficher 591.30 il m'affiche 591.3

    comment faire pour qu'il prenne en compte le format monétaire ?

  4. #4
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Ok: après le Format() dans le code VB, tu dois modifier le format de la cellule où va s'afficher ton montant. Tu peux mettre le nombre de décimales à afficher "à la main" dans Excel, si la cellule est toujours la même. Si elle bouge, tu dois modifier le format de la cellule par le code (le plus simple, c'est de la faire en enregistrant une macro, tu auras la syntaxe.)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Par défaut
    j'ai essayé ce que tu m'as dit de faire

    mais probleme :

    en fait dans la cellule meme (celle qu'on voit dans le contenu de la feuille excel) il va bien m'afficher 591.30
    mais dans la barre de formule il me recupere 591.3 et apparament vb recupere la valeur de la barre de formule et pas ce qui est visible dans la cellule sur la feuille excel

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 72
    Par défaut
    et si tu le met en format texte?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Par défaut
    effectivement dans la barre de formule ansi que dans la cellule j'aurai 591.30 mais lorsque je le passe dans la fonction sous vb ben il me recupere 531.3

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Ben, tu utilises Format() dans VB pour l'affichage...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Par défaut
    ben c'est ce que j'ai fait...
    heu en fait pas tt a fait j'ai utiliser formatnumber()

    c'est different ??

    Si oui en quoi ?

  10. #10
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    bon vu que tu t'obstine à ne pas nous montrer le code que tu utilise, voilà un morceau du code à utiliser !

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Par défaut
    bbil ca ne marche toujours pas
    il me donne quand meme 591.3 au lieu de 591.30

    voila le code que j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    If ThisWorkbook.Worksheets("CalculTarif").Cells(3, 2) = "Salarié" Then
      For i = 8 To 14
     
        If ThisWorkbook.Worksheets("Tarifs étendus").Cells(i, 1).Value = ThisWorkbook.Worksheets("ENTREES").Cells(8, 9).Value And ThisWorkbook.Worksheets("ENTREES").Cells(8, 9).Value > 20 Then
          If ThisWorkbook.Worksheets("CalculTarif").Cells(6, 3).Value = "IDF" Then
            UserForm3.Lbl_Prix_An_Enf1.Caption = ThisWorkbook.Worksheets("Tarifs étendus").Cells(i, j).Value * Pourcentage
          Else
            UserForm3.Lbl_Prix_An_Enf1.Caption = ThisWorkbook.Worksheets("Tarifs étendus").Cells(i, j).Value
          End If
     
          Tarif_Enfant1 = UserForm3.Lbl_Prix_An_Enf1.Caption
          Tarif_Enfant1 = Format(Tarif_Enfant1, "#.00")
          UserForm3.Lbl_Prix_An_Enf1.Caption = Tarif_Enfant1
     
        End If
     
      Next i
    End If

  12. #12
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    la variable tarifEnfant1.. ? c'est quoi ... si c'est pas un string c'est normal que cela ne marche pas ... tu n'as pas modifier la bonne ligne pour l'affichage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     UserForm3.Lbl_Prix_An_Enf1.Caption = Format(Tarif_Enfant1, "#.00")

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Par défaut
    Voila c'etait donc ça qui clochait...

    j'avais laisser la variable Tarif_Enfant1 sur Currency, je l'ai passé en String et là ca fonctionne...

    Merci bcp

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

Discussions similaires

  1. Un code VBA pour récupérer un type de donnée ?
    Par KEROZEN dans le forum VBA Access
    Réponses: 22
    Dernier message: 26/09/2019, 11h12
  2. Réponses: 2
    Dernier message: 13/06/2006, 08h47
  3. [VBA-A]Un code pour récupérer un type de donnée
    Par KEROZEN dans le forum VBA Access
    Réponses: 5
    Dernier message: 14/04/2006, 16h56
  4. [VBA-E]type de donnée range en vba utilisée dans une feuille
    Par Yoyo51 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/03/2006, 10h26
  5. Type de données pour effectuer une différence en vba
    Par snoopy69 dans le forum Access
    Réponses: 4
    Dernier message: 03/03/2006, 07h49

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