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

VB 6 et antérieur Discussion :

[VB] Recuperer nombre dans zone formater monétaire


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 68
    Points : 31
    Points
    31
    Par défaut [VB] Recuperer nombre dans zone formater monétaire
    Bonjour voila mon probleme j'affiche dans une champs text un nombre provenant d'une base access . Je le formate pour qu'elle prenne un format monétaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        Const Num1 = "##,###.00 €"
        ef_loyer.text = Format(ef_loyer.text, Num1)
    77124,12 -> 77 124,12 €

    Ensuite pour recuperer ma zone pour mettre a jour ma base de donné je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
           loyer = ef_loyer.text
           loyer = Replace(loyer," ", "")
           loyer= Replace(loyer, "€", "")
           loyer = Replace(loyer, ",", ".")
    1 er ligne mouvemente la zone
    2 eme ligne supprimer les espace
    3 eme ligne supprime le signe €
    4 eme remplace la virgule par le point

    Mon code ne marche pas tres bien car il ne supprime pas les espace

    77 124,12 € -> 77 124.12


    Si vous avez une methode meilleur pour formater un chiffre et ensuite pour le recupere sans le format ca serais cool de m'aider, car pour l'instant ca ne marche pas bien

    A bientot

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 46
    Points : 55
    Points
    55
    Par défaut
    Pour supprimer les espace utilise la commande Trim sur une chaine de caractère plutôt que le replace

    Par contre si ton champ de base de données est de type Réél il faut que ta variable d'enregistrement soit aussi un Réél !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 68
    Points : 31
    Points
    31
    Par défaut
    mon champs de la base est un reel double à deux decimale .
    la fonction TRIM ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    loyer = Trim(loyer)
    j'ai tjs un espace

  4. #4
    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 : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Il me semble qu'on travaille à l'envers.

    Pourquoi ne pas stocker dans la base en numérique et ne convertir en format monétaire que pour l'affichage?

    En tout cas, c'est ce que je ferais...

    Edit --> Désolé, je viens de relire l'énoncé. D'où question: Pourquoi mettre en monénaire une zone de saisie?
    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!

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 68
    Points : 31
    Points
    31
    Par défaut
    C bien ca, dans ma base c un reel double, et quand je l'affiche je le transforme en format monétaire. Ensuite pour le recuperer il faut que je le remette ne reel double .

    pourquoi tu me conseil de mettre a kel format dans ma base

  6. #6
    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 : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    J'ai édité le message précédent.
    Encore désolé d'avoir répondu sans avoir bien lu.
    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!

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 68
    Points : 31
    Points
    31
    Par défaut
    Je la met en monétaire car c plus facil a lire avec un espace entre les centaines et le sigle €uros .
    Je sais pas si vous faite ca dans vos application mais moi je prefere

  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 : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Dans mon cas, jamais pour une saisie. Uniquement pour l'affichage.
    Imagine le boulot de celui qui va devoir saisir...
    Devra-t-il taper le blanc ou pas?
    S'il sélectionne tout pour remplacer, l'utilisateur va se demander s'il doit, lui-même, formater ou pas.

    --> Source de confusion.
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 68
    Points : 31
    Points
    31
    Par défaut
    oui oui c pour l'affichage que je veux faire ca uniquement
    Je me suis mal fait entendre désolé.
    la seul chose que je voudrais savoir c comment enlever le blanc entre les centaines car le trim ca ne marche pas et le replace(loyer, " " ,"") non plus

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 46
    Points : 55
    Points
    55
    Par défaut
    A priori on s'égare ton Trim tu doit le faire sur ta zone de saisie et non pas sur ton réél.

    Ensuite si tu laisses ta reconversion de la saisie de l'utilisateur comme ça avec des trim et des replace ce n'est pas un problème car peu importe ce que l'utilisateur saisira, les replace remplace uniquement si le caractère est trouvé donc tes valeurs seront toujour bien formatée même si l'utilisateur saisi 14005.25.

    Mais en général comme le dis AlainTech il vaut mieux ne pas saisir au moins la devise monétaire mais plutôt la faire apparaitre dans un autre contrôle à part !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    loyer = Trim(ef_loyer.text)

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 68
    Points : 31
    Points
    31
    Par défaut
    ok merci pour toutes vos explications je vais refléchir et je pense faire comme vous avez dis .
    Merci en tout cas pour tout

  12. #12
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Je me permets une précision

    Trim n'a JAMAIS supprimé les espaces à l'intérieur d'une chaine, seulement les espaces à droite et à gauche
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  13. #13
    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 : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Je le pensais bien aussi mais je n'ai pas pris le temps de tester (mon bain coulait...)
    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!

  14. #14
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    J'ai pas testé non plus, c'est le B.A.BA des traitements de chaines

    Trim = LTrim + RTrim

    Pour suppimer tous les espaces dans une chaine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    While Instr(1, chaine, " ") <> 0
       Replace(chaine, " ", "")
    Wend
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 46
    Points : 55
    Points
    55
    Par défaut
    Effectivement je me suis un peu emballé désolé

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 29/01/2024, 15h32
  2. [XL-2007] concatener des nombres dans un format précis
    Par projekx dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/07/2011, 17h41
  3. Réponses: 10
    Dernier message: 22/06/2008, 17h12
  4. Format nombre dans zone de liste
    Par rogeryzf dans le forum Access
    Réponses: 1
    Dernier message: 18/09/2006, 13h59
  5. Format monétaire dans un DBedit
    Par cdlr27 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/04/2004, 16h41

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