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 :

Format monétaire dans une userform [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 322
    Par défaut Format monétaire dans une userform
    Bonjour à tous.
    J'ai un userform avec 2 textbox et un label.

    Dans le label, je veux avoir le résultat de textbox3-textbox4 avec le fomat 123.45 par exemple.
    Cette section fonctionne bien

    J'aimerais que les deux textbox prennent la même forme monétaire.

    J'ai donc le code suivant:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Private Sub TextBox3_AfterUpdate()
    Dim Val As String
     
    Val = Replace(Me.TextBox3, ".", ",")
    Val = Format(Val, "0.00")
    Val = Replace(Val, ",", ".")
    Me.TextBox3 = Val
    End Sub
     
    Private Sub TextBox3_Change()
    'si il n'y a rien dans les textbox on ne calcule pas
    If Me.TextBox3.Value = "" Or Me.TextBox4.Value = "" Then
     
    Exit Sub
    End If
    Label11.Caption = Round(Val(TextBox3.Value) - Val(TextBox4), 2)
     
    LB11 = Label11
    LB11 = Format(LB11, "# ##0.00")
    Me.Label11 = LB11
     
    End Sub
     
     
    Private Sub TextBox4_AfterUpdate()
    Dim Val As String
     
    Val = Replace(Me.TextBox4, ".", ",")
    Val = Format(Val, "0.00")
    Val = Replace(Val, ",", ".")
    Me.TextBox4 = Val
    End Sub
     
    Private Sub TextBox4_Change()
    'si il n'y a rien dans les textbox on ne calcule pas
    If Me.TextBox3.Value = "" Or Me.TextBox4.Value = "" Then
     
    Exit Sub
    End If
    Label11.Caption = Round(Val(TextBox3.Value) - Val(TextBox4), 2)
     
    LB11 = Label11
    LB11 = Format(LB11, "# ##0.00")
    Me.Label11 = LB11
     
     
    End Sub
    Si je tape 1 dans les textbox, j'ai le résultat 1.00 = Parfait !
    si je tape 2.36 dans le textbox, j'ai 13181.00

    Je n'ai aucun autre code utilisant les textbox en question.

    Quelqu'un peut-il m'expliquer ce que je ne fait pas de la bonne façon ?

    Merci

    Dlight

  2. #2
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    Si tu exécute le code pas à pas, tu verras que c'est la manipulation avec les , et les . qui pose problème.
    Pourquoi, dans l’évènement _AfterUpdate ne pas faire simplement cette ligne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox3.Value = Format(TextBox3.Value, "0.00")

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 322
    Par défaut Re
    Merci à vous tedo01

    Le novices en VBA aiment bien se compliquer la vie. Merci aux experts de nous ramener à l'ordre !!!

    Merci

    Dlight

  4. #4
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Mon objectif n'est vraiment pas de ramener les novices en VBA à l'ordre , mais de les aider à devenir des experts

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 322
    Par défaut Re
    Alors, merci de prendre le temps de rendre les novices en de futurs experts !

    Dlight

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

Discussions similaires

  1. Format monétaire dans une userform
    Par YannCie72 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/08/2013, 14h09
  2. Réponses: 10
    Dernier message: 22/06/2008, 17h12
  3. format monétaire dans une colone listview ?
    Par sauceaupistou dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 27/06/2007, 15h24
  4. incrementation d'un format texte dans une zone de texte
    Par frederic.go dans le forum Access
    Réponses: 6
    Dernier message: 18/10/2005, 14h47
  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