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 :

Reconnaissance du point et de la virgule comme caractère décimal [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Reconnaissance du point et de la virgule comme caractère décimal
    Bonjour,

    J'ai fait un petit userform de dimensionnement mais j'ai un problème au moment des calculs. La virgule affichée n'est pas reconnue comme la séparation des décimales et entiers. Comment changer ce paramètre?

  2. #2
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Paramètres régionaux de Windows ???

    Essaie d'être plus précise sur ton problème.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Un exemple pour un textbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.TextBox1.Text = Replace(Me.TextBox1.Text, ",", ".")
    Noe que le résultat sera du texte. Il faudra le transformer en numérique pour pouvoir s'en servir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").Value = CDbl(Replace(Me.TextBox1.Text, ",", "."))
    Tu n'as pas à te préoccuper du symbole décimal Excel. Le "." VBA sera automatiquement transposé en "." ou ",".

  4. #4
    Invité
    Invité(e)
    Par défaut regard ça et dis moi
    Pour tenir compte des paramètres régionaux de Windows:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function ConverNumerique(V) As Double
    Dim vl
    vl = Replace(V, ",", ".")
    If IsNumeric(vl) Then
        ConverNumerique = Val(vl)
        Exit Function
    End If
    vl = Replace(vl, ".", ",")
    If IsNumeric(vl) Then
        ConverNumerique = Val(vl)
        Exit Function
    End If
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub test()
    Debug.Print ConverNumerique("1.5")
    Debug.Print ConverNumerique("1,5")
    End Sub

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci de vos réponse mais ce n'est pas dans le code que ça pose probleme

    En gros, quand je suis dans le code il n'y a pas de problème donc je souhaite garder les points et les virgules comme c'est mais en exécution, il ne reconnait pas les virgule comme un caractère numérique mais comme du texte (comme sur l'image) donc il prend comme valeur de la TextBox le chiffre avant la virgule mais pas le tout.

    J'ai essayé en changeant les paramètres d'édition d'excell mais ça ne change rien.
    Images attachées Images attachées  

  6. #6
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    Pour tenir compte des paramètres régionaux de Windows:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function ConverNumerique(V) As Double
    Dim vl
    vl = Replace(V, ",", ".")
    If IsNumeric(vl) Then
        ConverNumerique = Val(vl)
        Exit Function
    End If
    vl = Replace(vl, ".", ",")
    If IsNumeric(vl) Then
        ConverNumerique = Val(vl)
        Exit Function
    End If
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub test()
    Debug.Print ConverNumerique("1.5")
    Debug.Print ConverNumerique("1,5")
    End Sub
    Il serait préférable de ne pas utiliser VAL dans cette excellente fonction car VAL ne reconnait pas la virgule comme symbole décimal et va donc supprimer tout ce qui suit la virgule.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Bonjour Manon26,

    Je suis debutant mais as tu regarde dans panneau de conf/option regionale et linguistique/1er onglet personnaliser/ ? a cet endroit tu peux changer les parametres. BOn ca marchera de ton cote mais cote client faudrait faire la meme ^^

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

Discussions similaires

  1. [Python 3.X] Considération de la virgule comme séparateur décimal
    Par rodicus dans le forum Général Python
    Réponses: 4
    Dernier message: 19/01/2015, 17h47
  2. Réponses: 19
    Dernier message: 08/04/2013, 17h24
  3. Réponses: 1
    Dernier message: 02/11/2011, 01h12
  4. Float : Interpréter la virgule comme un point
    Par nicolas.pied dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 28/12/2006, 14h58
  5. Réponses: 3
    Dernier message: 11/11/2005, 11h59

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