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 :

Avoir un point ou une virgule dans une textbox [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    janvier 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : janvier 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Avoir un point ou une virgule dans une textbox
    Bonjour
    J'ai récupéré se code qui me permet de prendre en compte dans un nombre un point ou une virgule
    Ma TextBox1 écrit dans une cellule de mon fichier EXCEL
    Mon problème c'est que quand j'écris 123.12 ou 123,12 cela fonctionne
    mais quand j'écris 123.123 ou 123,123 cela m'écrit 123123
    Comment puis je avoir 3 chiffre après la virgule?

    Merci



    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
     
    Option Explicit
     
    Const entrees_decimales_permises = ".,0123456789" & vbCr & vbBack
    Const Point = "."
    Const Virgule = ","
     
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
        If KeyAscii = Asc(Point) Then
            If InStr(TextBox1, Virgule) = 0 Then
                KeyAscii = Asc(Virgule)
            Else
                KeyAscii = 0
            End If
        ElseIf InStr(entrees_decimales_permises, Chr(KeyAscii)) = 0 Then
            KeyAscii = 0
        ElseIf InStr(TextBox1, Virgule) > 0 And KeyAscii = Asc(Virgule) Then
            KeyAscii = 0
        End If
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    http://www.developpez.net/forums/d15...e/#post8290464

    Comment puis je avoir 3 chiffre après la virgule?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v= round(10.123456789,3)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    janvier 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : janvier 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Comment puis je avoir 3 chiffre après la virgule?
    Bonjour rdurupt
    peux tu développer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    v= round(10.123456789,3)
    v ?
    merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    la fonction round te retourne une valeur en précisant le nombre de chiffre après la virgule!

  5. #5
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    janvier 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : janvier 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Comment puis je avoir 3 chiffre après la virgule?
    Merci mais quand tu écris v= a quoi correspond-il si c'est une variable a qui doit on la déclarer?
    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    c'est un exemple pour e montrer que la variable v récupère bien 10.123

  7. #7
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : juin 2006
    Messages : 6 132
    Points : 12 951
    Points
    12 951
    Par défaut
    Salut, un code qui me rappelle qqch .....
    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
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
        If KeyAscii = Asc(Point) Then
            If InStr(TextBox1, Virgule) = 0 Then
                KeyAscii = Asc(Virgule)
            Else
                KeyAscii = 0
            End If
        ElseIf InStr(entrees_decimales_permises, Chr(KeyAscii)) = 0 Then
            KeyAscii = 0
        ElseIf InStr(TextBox1, Virgule) > 0 And KeyAscii = Asc(Virgule) Then
            KeyAscii = 0
        ElseIf InStr(TextBox1, Virgule) > 0 Then
            Pos = InStr(TextBox1.Text, Virgule)
            If Len(TextBox1.Text) = Pos + 3 Then
                TextBox1.Text = Left$(TextBox1.Text, Len(TextBox1.Text) - 1)
            End If
        End If
    End Sub
    Pensez à Voter, d'avance merci. @+ Philippe
    Balisez votre code après l'avoir indenté sous Excel (< 2013) via Smart Indenter
    Autres utilitaires : MZ Tools 8.0 VBA , 7Zip et Antidote

    Liste des Contributions : Manipulations des PDF via Excel / Acrobat / PDFCreator / xPDF

  8. #8
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    janvier 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : janvier 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Comment puis je avoir 3 chiffre après la virgule?
    Merci rdurupt et kiki29
    Cela fonctionne
    Bonne journée

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

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 14h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 20h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 27/08/2007, 00h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 11h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 14h48

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